{ "host": "demo.accelbyte.io", "info": { "contact": { "email": "engineering@accelbyte.io", "name": "Engineering Team at AccelByte", "url": "https://accelbyte.io" }, "description": "Justice SeasonPass Service", "title": "justice-seasonpass-service", "version": "1.26.2" }, "schemes": [ "https" ], "tags": [ { "name": "Export" }, { "name": "Pass" }, { "name": "Reward" }, { "name": "Season" }, { "name": "Tier" }, { "name": "Utilities" } ], "externalDocs": { "description": "API Docs", "url": "https://stage.accelbyte.io/seasonpass" }, "securityDefinitions": { "authorization": { "in": "header", "name": "Authorization", "type": "apiKey" } }, "swagger": "2.0", "paths": { "/seasonpass/admin/namespace/{namespace}/export": { "get": { "description": "This API is used to export all of season service data files with csv format.", "operationId": "exportSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/octet-stream" ], "responses": { "200": { "description": "Export data successfully", "schema": { "type": "file" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "export season service data", "tags": [ "Export" ], "x-errorCodes": { "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons": { "get": { "description": "This API is used to query seasons, seasons only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: the list of season basic info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "querySeasons", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" }, { "collectionFormat": "multi", "in": "query", "items": { "enum": [ "DRAFT", "PUBLISHED", "RETIRED" ], "type": "string" }, "name": "status", "required": false, "type": "array" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ListSeasonInfoPagingSlicedResult" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query seasons", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "This API is used to create a season, season only allowed in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created season\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/SeasonCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49121\u003c/td\u003e\u003ctd\u003eDefault language [{language}] required in localizations\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49122\u003c/td\u003e\u003ctd\u003eInvalid time range\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49141\u003c/td\u003e\u003ctd\u003eTier item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e36141\u003c/td\u003e\u003ctd\u003eCurrency [{currencyCode}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a season", "tags": [ "Season" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "36141": "Currency [{currencyCode}] does not exist in namespace [{namespace}]", "49121": "Default language [{language}] required in localizations", "49122": "Invalid time range", "49141": "Tier item does not exist in the store of namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [CREATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/current": { "get": { "description": "[SERVICE COMMUNICATION ONLY]This API is used to get current published season summary which includes previous published season summary if exists, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: season summary data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getCurrentSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonSummary" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get current published season summary", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49147": "Published season does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/current/users/bulk/progression": { "post": { "consumes": [ "application/json" ], "description": "This API is used to bulk get user current season progression, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season progression\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "bulkGetUserSeasonProgression", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/BulkUserProgressionRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/UserSeasonSummary" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk get user current season progression", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49147": "Published season does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/item/references": { "get": { "description": "This API is used to get season pass ecommerce item references.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: item references data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getItemReferences", "parameters": [ { "description": "namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "description": "the id of the ecommerce item", "in": "query", "name": "itemId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ItemReferenceInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get season pass ecommerce item references", "tags": [ "Utilities" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}": { "delete": { "description": "This API is used to delete a season permanently, only draft season can be deleted. \u0026lt;p\u0026gt;", "operationId": "deleteSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Delete season successfully" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [DELETE]" } }, "get": { "description": "This API is used to get a season, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "This API is used to update a season. Only draft season can be updated.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated season\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateSeason", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/SeasonUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49121\u003c/td\u003e\u003ctd\u003eDefault language [{language}] required in localizations\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49122\u003c/td\u003e\u003ctd\u003eInvalid time range\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49141\u003c/td\u003e\u003ctd\u003eTier item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e36141\u003c/td\u003e\u003ctd\u003eCurrency [{currencyCode}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a season", "tags": [ "Season" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "36141": "Currency [{currencyCode}] does not exist in namespace [{namespace}]", "49121": "Default language [{language}] required in localizations", "49122": "Invalid time range", "49141": "Tier item does not exist in the store of namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/clone": { "post": { "consumes": [ "application/json" ], "description": "This API is used to clone a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: cloned season info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "cloneSeason", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/SeasonCloneRequest" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49122\u003c/td\u003e\u003ctd\u003eInvalid time range\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Clone a season", "tags": [ "Season" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "49122": "Invalid time range", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [CREATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/full": { "get": { "description": "This API is used to get a season full content, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getFullSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/FullSeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a season full content", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/passes": { "get": { "description": "This API is used to query all passes for a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: the list of passes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "queryPasses", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/PassInfo" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query all passes for a season", "tags": [ "Pass" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "This API is used to create a pass for a draft season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created pass\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createPass", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/PassCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/PassInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49121\u003c/td\u003e\u003ctd\u003eDefault language [{language}] required in localizations\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49142\u003c/td\u003e\u003ctd\u003ePass item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49174\u003c/td\u003e\u003ctd\u003ePass [{code}] already exists in the season\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a pass", "tags": [ "Pass" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "49121": "Default language [{language}] required in localizations", "49142": "Pass item does not exist in the store of namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]", "49174": "Pass [{code}] already exists in the season" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [CREATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/passes/{code}": { "delete": { "description": "This API is used to delete a pass permanently, only draft season pass can be deleted. \u0026lt;p\u0026gt;", "operationId": "deletePass", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Delete pass successfully" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49145\u003c/td\u003e\u003ctd\u003ePass [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eSeason is not updatable in status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a pass", "tags": [ "Pass" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49145": "Pass [{code}] does not exist", "49171": "Season is not updatable in status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [DELETE]" } }, "get": { "description": "This API is used to get a pass for a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: pass data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getPass", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/PassInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49145\u003c/td\u003e\u003ctd\u003ePass [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a pass", "tags": [ "Pass" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49145": "Pass [{code}] does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "This API is used to update a pass. Only draft season pass can be updated.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated pass\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updatePass", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/PassUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/PassInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49121\u003c/td\u003e\u003ctd\u003eDefault language [{language}] required in localizations\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49145\u003c/td\u003e\u003ctd\u003ePass [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49142\u003c/td\u003e\u003ctd\u003ePass item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a pass", "tags": [ "Pass" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "49121": "Default language [{language}] required in localizations", "49142": "Pass item does not exist in the store of namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49145": "Pass [{code}] does not exist", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/publish": { "put": { "consumes": [ "application/json" ], "description": "This API is used to publish a draft season, only one published season allowed at same time in a namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: published season\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publishSeason", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49121\u003c/td\u003e\u003ctd\u003eDefault language [{language}] required in localizations\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30142\u003c/td\u003e\u003ctd\u003ePublished store does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49141\u003c/td\u003e\u003ctd\u003eTier item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49142\u003c/td\u003e\u003ctd\u003ePass item does not exist in the store of namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30341\u003c/td\u003e\u003ctd\u003eItem [{itemId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e36141\u003c/td\u003e\u003ctd\u003eCurrency [{currencyCode}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49172\u003c/td\u003e\u003ctd\u003eSeason is already ended\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49175\u003c/td\u003e\u003ctd\u003ePublished season already exists in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49176\u003c/td\u003e\u003ctd\u003eRewards are not provided\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49177\u003c/td\u003e\u003ctd\u003ePasses are not provided\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49178\u003c/td\u003e\u003ctd\u003eTiers are not provided\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49189\u003c/td\u003e\u003ctd\u003eDuplicate season name [{name}] for publishing in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Publish a season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "30142": "Published store does not exist in namespace [{namespace}]", "30341": "Item [{itemId}] does not exist in namespace [{namespace}]", "36141": "Currency [{currencyCode}] does not exist in namespace [{namespace}]", "49121": "Default language [{language}] required in localizations", "49141": "Tier item does not exist in the store of namespace [{namespace}]", "49142": "Pass item does not exist in the store of namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist", "49171": "Invalid season status [{status}]", "49172": "Season is already ended", "49175": "Published season already exists in namespace [{namespace}]", "49176": "Rewards are not provided", "49177": "Passes are not provided", "49178": "Tiers are not provided", "49189": "Duplicate season name [{name}] for publishing in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/retire": { "put": { "consumes": [ "application/json" ], "description": "This API is used to retire a published season, if the season has not ended it will report error except with force.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: season info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "retireSeason", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "default": false, "in": "query", "name": "force", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49181\u003c/td\u003e\u003ctd\u003eSeason has not ended\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Retire a season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]", "49181": "Season has not ended" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/rewards": { "get": { "description": "This API is used to query rewards for a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: the list of rewards\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "queryRewards", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "query", "name": "q", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/RewardInfo" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query all rewards for a season", "tags": [ "Reward" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "This API is used to create a reward for a draft season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: created reward\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "createReward", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/RewardCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/RewardInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eItem type not match\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30341\u003c/td\u003e\u003ctd\u003eItem [{itemId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e36141\u003c/td\u003e\u003ctd\u003eCurrency [{currencyCode}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49173\u003c/td\u003e\u003ctd\u003eReward [{code}] already exists in the season\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create a reward", "tags": [ "Reward" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "30341": "Item [{itemId}] does not exist in namespace [{namespace}]", "36141": "Currency [{currencyCode}] does not exist in namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]", "49173": "Reward [{code}] already exists in the season" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [CREATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/rewards/{code}": { "delete": { "description": "This API is used to delete a reward permanently, only draft season reward can be deleted. \u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "deleteReward", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Delete reward successfully" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eSeason is not updatable in status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49179\u003c/td\u003e\u003ctd\u003eReward [{code}] is in use\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a reward", "tags": [ "Reward" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist", "49171": "Season is not updatable in status [{status}]", "49179": "Reward [{code}] is in use" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [DELETE]" } }, "get": { "description": "This API is used to get a reward for a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: reward data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getReward", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RewardInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get a reward", "tags": [ "Reward" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "patch": { "consumes": [ "application/json" ], "description": "This API is used to update a reward. Only draft season reward can be updated.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: updated reward\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "updateReward", "parameters": [ { "in": "path", "name": "code", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/RewardUpdate" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/RewardInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eItem type not match\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30141\u003c/td\u003e\u003ctd\u003eStore [{storeId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e30341\u003c/td\u003e\u003ctd\u003eItem [{itemId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e36141\u003c/td\u003e\u003ctd\u003eCurrency [{currencyCode}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a reward", "tags": [ "Reward" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "30141": "Store [{storeId}] does not exist in namespace [{namespace}]", "30341": "Item [{itemId}] does not exist in namespace [{namespace}]", "36141": "Currency [{currencyCode}] does not exist in namespace [{namespace}]", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/tiers": { "get": { "description": "This API is used to query paginated tiers for a season.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: the list of passes\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "queryTiers", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/TierPagingSlicedResult" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query paginated tiers for a season", "tags": [ "Tier" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [READ]" } }, "post": { "consumes": [ "application/json" ], "description": "This API is used to create tier for a draft season, can create multiple tiers at same time.\u0026lt;p\u0026gt;", "operationId": "createTier", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/TierCreate" } } ], "produces": [ "application/json" ], "responses": { "201": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/Tier" }, "type": "array" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49145\u003c/td\u003e\u003ctd\u003ePass [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Create tier", "tags": [ "Tier" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist", "49145": "Pass [{code}] does not exist", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [CREATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/tiers/{id}": { "delete": { "description": "This API is used to delete a tier permanently, only draft season pass can be deleted. \u0026lt;p\u0026gt;", "operationId": "deleteTier", "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "Delete tier successfully" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Delete a tier", "tags": [ "Tier" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [DELETE]" } }, "put": { "consumes": [ "application/json" ], "description": "This API is used to update a tier. Only draft season pass can be updated.\u0026lt;p\u0026gt;", "operationId": "updateTier", "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/TierInput" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Tier" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49145\u003c/td\u003e\u003ctd\u003ePass [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49146\u003c/td\u003e\u003ctd\u003eTier does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Update a tier", "tags": [ "Tier" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49144": "Reward [{code}] does not exist", "49145": "Pass [{code}] does not exist", "49146": "Tier does not exist", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/tiers/{id}/reorder": { "put": { "consumes": [ "application/json" ], "description": "This API is used to reorder a tier. Only draft season pass can be updated.\u0026lt;p\u0026gt;", "operationId": "reorderTier", "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string" }, { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/TierReorder" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Tier" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49146\u003c/td\u003e\u003ctd\u003eTier does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "422": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20002\u003c/td\u003e\u003ctd\u003evalidation error\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ValidationErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Reorder a tier", "tags": [ "Tier" ], "x-errorCodes": { "20002": "validation error", "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49146": "Tier does not exist", "49171": "Invalid season status [{status}]" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/seasons/{seasonId}/unpublish": { "put": { "consumes": [ "application/json" ], "description": "This API is used to unpublish a published season, if the season already started it will report error except with force.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: season info\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "unpublishSeason", "parameters": [ { "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "default": false, "in": "query", "name": "force", "required": false, "type": "boolean", "x-omitempty": false } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/SeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49143\u003c/td\u003e\u003ctd\u003eSeason [{seasonId}] does not exist in namespace [{namespace}]\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49171\u003c/td\u003e\u003ctd\u003eInvalid season status [{status}]\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49180\u003c/td\u003e\u003ctd\u003eSeason is already started\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Unpublish a season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49143": "Season [{seasonId}] does not exist in namespace [{namespace}]", "49171": "Invalid season status [{status}]", "49180": "Season is already started" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons": { "get": { "description": "This API is used to get user participated season data, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user participated season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getUserParticipatedSeasons", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ListUserSeasonInfoPagingSlicedResult" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user participated season data", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/exp": { "post": { "consumes": [ "application/json" ], "description": "This API is used to grant exp to user, it will auto enroll if there\u0026#39;s no user season but active published season exist, season only located in non-publisher namespace, otherwise ignore.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "grantUserExp", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserExpGrant" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserSeasonSummary" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Grant exp to user", "tags": [ "Tier" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/passes": { "post": { "consumes": [ "application/json" ], "description": "This API is used to grant pass to user, it will auto enroll if there\u0026#39;s no user season but active published season exist, season only located in non-publisher namespace, otherwise ignore.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "grantUserPass", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserPassGrant" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserSeasonSummary" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Grant pass to user", "tags": [ "Pass" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/passes/ownership/any": { "get": { "description": "[SERVICE COMMUNICATION ONLY]This API is used to get ownership for any pass codes, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: ownership\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "existsAnyPassByPassCodes", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "collectionFormat": "multi", "in": "query", "items": { "type": "string" }, "name": "passCodes", "required": false, "type": "array" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Ownership" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get ownership for any pass codes", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/progression": { "get": { "description": "This API is used to get current user season progression, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season progression\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getCurrentUserSeasonProgression", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserSeasonSummary" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get current user season progression", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49147": "Published season does not exist", "49148": "User season does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/purchasable": { "post": { "consumes": [ "application/json" ], "description": "This API is used to check pass or tier purchasable, season only located in non-publisher namespace.\u0026lt;p\u0026gt;", "operationId": "checkSeasonPurchasable", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserPurchasable" } } ], "produces": [ "application/json" ], "responses": { "204": { "description": "OK" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49183\u003c/td\u003e\u003ctd\u003ePass item does not match published season pass\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49184\u003c/td\u003e\u003ctd\u003eTier item does not match published season tier\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49185\u003c/td\u003e\u003ctd\u003eSeason has not started\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49186\u003c/td\u003e\u003ctd\u003ePass already owned\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49187\u003c/td\u003e\u003ctd\u003eExceed max tier count\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Check pass or tier purchasable", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49147": "Published season does not exist", "49183": "Pass item does not match published season pass", "49184": "Tier item does not match published season tier", "49185": "Season has not started", "49186": "Pass already owned", "49187": "Exceed max tier count" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/reset": { "delete": { "description": "\u0026lt;b\u0026gt;[TEST FACILITY ONLY] Forbidden in live environment. \u0026lt;/b\u0026gt;This API is used to reset user data in current season, it will not revoke the rewarded entitlements.\u0026lt;p\u0026gt;", "operationId": "resetUserSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "204": { "description": "OK" }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Reset user data in current season", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [DELETE]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/current/tiers": { "post": { "consumes": [ "application/json" ], "description": "This API is used to grant tier to user, it will auto enroll if there\u0026#39;s no user season but active published season exist, season only located in non-publisher namespace, otherwise ignore.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "grantUserTier", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserTierGrant" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserSeasonSummary" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Grant tier to user", "tags": [ "Tier" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49148": "User season does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [UPDATE]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/exp/history": { "get": { "description": "This API is used to get user exp acquisition history, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;default will query from current active season\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: paginated grant history\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "queryUserExpGrantHistory", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "section active range time start , using ISO 8601 format e.g. yyyy-MM-dd'T'HH:mm:ssZZ", "in": "query", "name": "from", "required": false, "type": "string" }, { "default": 20, "description": "limit", "format": "int32", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 0, "description": "offset", "format": "int32", "in": "query", "name": "offset", "required": false, "type": "integer" }, { "description": "if not provide, will query current season", "in": "query", "name": "seasonId", "required": false, "type": "string" }, { "description": "exp grant source", "enum": [ "PAID_FOR", "SWEAT" ], "in": "query", "name": "source", "required": false, "type": "string" }, { "collectionFormat": "multi", "description": "exp grant tags", "in": "query", "items": { "type": "string" }, "name": "tags", "required": false, "type": "array" }, { "description": "section active range time end, using ISO 8601 format e.g. yyyy-MM-dd'T'HH:mm:ssZZ", "in": "query", "name": "to", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ExpGrantHistoryPagingSlicedResult" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query user season exp acquisition history", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/exp/history/tags": { "get": { "description": "This API is used to get user exp acquisition history\u0026#39;s tag list.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;default will query from current active season\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: exp grant history tags list\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "queryUserExpGrantHistoryTag", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "description": "if not provide, will query current season", "in": "query", "name": "seasonId", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ReasonTagsResult" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Query user season exp acquisition history's reason tag list", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/admin/namespaces/{namespace}/users/{userId}/seasons/{seasonId}/data": { "get": { "description": "This API is used to get user season data, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "getUserSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ClaimableUserSeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user season data", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49148": "User season does not exist" }, "x-security": { "userPermissions": "ADMIN:NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/public/namespaces/{namespace}/seasons/current": { "get": { "description": "This API is used to get current published season, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: localized season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetCurrentSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "query", "name": "language", "required": false, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/LocalizedSeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "401": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20001\u003c/td\u003e\u003ctd\u003eUnauthorized\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get current published season", "tags": [ "Season" ], "x-errorCodes": { "20001": "Unauthorized", "20026": "publisher namespace not allowed", "49147": "Published season does not exist" } } }, "/seasonpass/public/namespaces/{namespace}/users/{userId}/seasons/current/data": { "get": { "description": "This API is used to get current user season data, it will auto enroll if there\u0026#39;s no user season but active published season exist, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetCurrentUserSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ClaimableUserSeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get current user season data", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49147": "Published season does not exist", "49148": "User season does not exist" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } }, "/seasonpass/public/namespaces/{namespace}/users/{userId}/seasons/current/rewards": { "post": { "consumes": [ "application/json" ], "description": "This API is used to claim reward, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicClaimUserReward", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" }, { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/UserRewardClaim" } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ClaimableRewards" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49124\u003c/td\u003e\u003ctd\u003eManual claim not supported\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49144\u003c/td\u003e\u003ctd\u003eReward [{code}] does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "409": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49182\u003c/td\u003e\u003ctd\u003eReward is already claimed\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49188\u003c/td\u003e\u003ctd\u003eReward is claiming\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Claim tier reward", "tags": [ "Reward" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49124": "Manual claim not supported", "49144": "Reward [{code}] does not exist", "49147": "Published season does not exist", "49148": "User season does not exist", "49182": "Reward is already claimed", "49188": "Reward is claiming" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [UPDATE]" } } }, "/seasonpass/public/namespaces/{namespace}/users/{userId}/seasons/current/rewards/bulk": { "post": { "description": "This API is used to bulk claim all remained rewards, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicBulkClaimUserRewards", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ClaimableRewards" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49124\u003c/td\u003e\u003ctd\u003eManual claim not supported\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49147\u003c/td\u003e\u003ctd\u003ePublished season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Bulk claim all remained rewards", "tags": [ "Reward" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49124": "Manual claim not supported", "49147": "Published season does not exist", "49148": "User season does not exist" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [UPDATE]" } } }, "/seasonpass/public/namespaces/{namespace}/users/{userId}/seasons/{seasonId}/data": { "get": { "description": "This API is used to get user season data, season only located in non-publisher namespace.\u0026lt;p\u0026gt;Other detail info: \u0026lt;ul\u0026gt;\u0026lt;li\u0026gt;\u0026lt;i\u0026gt;Returns\u0026lt;/i\u0026gt;: user season data\u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;", "operationId": "publicGetUserSeason", "parameters": [ { "description": "Namespace", "in": "path", "name": "namespace", "required": true, "type": "string" }, { "in": "path", "name": "seasonId", "required": true, "type": "string" }, { "in": "path", "name": "userId", "required": true, "type": "string" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/ClaimableUserSeasonInfo" } }, "400": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e20026\u003c/td\u003e\u003ctd\u003epublisher namespace not allowed\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } }, "404": { "description": "\u003ctable\u003e\u003ctr\u003e\u003ctd\u003eErrorCode\u003c/td\u003e\u003ctd\u003eErrorMessage\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e49148\u003c/td\u003e\u003ctd\u003eUser season does not exist\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e", "schema": { "$ref": "#/definitions/ErrorEntity" } } }, "security": [ { "authorization": [] } ], "summary": "Get user season data", "tags": [ "Season" ], "x-errorCodes": { "20026": "publisher namespace not allowed", "49148": "User season does not exist" }, "x-security": { "userPermissions": "NAMESPACE:{namespace}:USER:{userId}:SEASONPASS [READ]" } } } }, "definitions": { "BulkUserProgressionRequest": { "properties": { "userIds": { "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "ClaimableRewards": { "description": "A DTO object for claimable rewards.", "properties": { "claimingRewards": { "additionalProperties": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object" }, "description": "Claiming rewards, zero based tier index as key, rewards per pass as value ", "type": "object" }, "toClaimRewards": { "additionalProperties": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object" }, "description": "To claim rewards, zero based tier index as key, rewards per pass as value ", "type": "object" } }, "required": [ "claimingRewards", "toClaimRewards" ], "type": "object" }, "ClaimableUserSeasonInfo": { "description": "A DTO object for claimable user season data.", "properties": { "claimingRewards": { "additionalProperties": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object" }, "description": "Claiming rewards, zero based tier index as key, rewards per pass as value ", "type": "object" }, "cleared": { "description": "whether cleared all tiers", "type": "boolean", "x-omitempty": false }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "currentExp": { "description": "gained exp for current tier", "format": "int32", "type": "integer" }, "currentTierIndex": { "description": "current tier index, zero based", "format": "int32", "type": "integer" }, "enrolledAt": { "description": "enroll date time", "format": "date-time", "type": "string", "x-nullable": false }, "enrolledPasses": { "description": "enrolled passes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "id": { "description": "id", "type": "string" }, "lastTierIndex": { "description": "last tier index, zero based", "format": "int32", "type": "integer" }, "namespace": { "description": "namespace", "type": "string" }, "requiredExp": { "description": "required exp for current tier", "format": "int32", "type": "integer" }, "season": { "$ref": "#/definitions/SeasonSummary", "description": "season summary" }, "seasonId": { "description": "season id", "type": "string" }, "toClaimRewards": { "additionalProperties": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object" }, "description": "To claim rewards, zero based tier index as key, rewards per pass as value ", "type": "object" }, "totalExp": { "description": "total exp", "format": "int64", "type": "integer" }, "totalPaidForExp": { "description": "total paid-for exp", "format": "int64", "type": "integer" }, "totalSweatExp": { "description": "total sweat exp", "format": "int64", "type": "integer" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false }, "userId": { "description": "user id", "type": "string" } }, "required": [ "claimingRewards", "cleared", "createdAt", "currentExp", "currentTierIndex", "enrolledAt", "enrolledPasses", "id", "lastTierIndex", "namespace", "requiredExp", "seasonId", "toClaimRewards", "updatedAt", "userId" ], "type": "object" }, "ErrorEntity": { "properties": { "devStackTrace": { "description": "internal server error stack trace in configured environment", "type": "string" }, "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "description": "message variables", "type": "object" }, "requiredPermission": { "$ref": "#/definitions/Permission" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" }, "ExcessStrategy": { "properties": { "currency": { "description": "virtual currency for grant, required while method is CURRENCY", "type": "string" }, "method": { "description": "method while excess the final tier exp", "enum": [ "CURRENCY", "NONE" ], "type": "string" }, "percentPerExp": { "description": "percent per exp, required while method is CURRENCY", "format": "int32", "type": "integer" } }, "required": [ "method" ], "type": "object" }, "ExpGrantHistoryInfo": { "description": "A DTO object for exp grant history details.", "properties": { "createdAt": { "description": "acquired at", "format": "date-time", "type": "string", "x-nullable": false }, "grantExp": { "description": "grant exp", "format": "int64", "type": "integer" }, "id": { "description": "id", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "seasonId": { "description": "season id", "type": "string" }, "source": { "description": "id", "enum": [ "PAID_FOR", "SWEAT" ], "type": "string" }, "tags": { "description": "id", "items": { "type": "string" }, "type": "array" }, "userId": { "description": "user id", "type": "string" } }, "required": [ "createdAt", "grantExp", "id", "namespace", "seasonId", "userId" ], "type": "object" }, "ExpGrantHistoryPagingSlicedResult": { "properties": { "data": { "description": "data", "items": { "$ref": "#/definitions/ExpGrantHistoryInfo" }, "type": "array" }, "paging": { "$ref": "#/definitions/Paging" }, "total": { "format": "int64", "type": "integer" } }, "required": [ "data" ], "type": "object" }, "FieldValidationError": { "properties": { "errorCode": { "type": "string" }, "errorField": { "type": "string" }, "errorMessage": { "type": "string" }, "errorValue": { "type": "string" }, "messageVariables": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "FullSeasonInfo": { "description": "A DTO object for season full content.", "properties": { "id": { "description": "id", "type": "string" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "name": { "description": "name, max length is 127", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passes": { "description": "passes info", "items": { "$ref": "#/definitions/PassInfo" }, "type": "array" }, "rewards": { "additionalProperties": { "$ref": "#/definitions/RewardInfo" }, "description": "rewards info", "type": "object" }, "tiers": { "description": "tiers info", "items": { "$ref": "#/definitions/Tier" }, "type": "array" } }, "required": [ "id", "localizations", "name", "namespace", "passes", "rewards", "tiers" ], "type": "object" }, "Image": { "properties": { "as": { "description": "image for", "type": "string" }, "caption": { "description": "image caption", "type": "string" }, "height": { "description": "height", "format": "int32", "type": "integer" }, "imageUrl": { "description": "imageUrl", "type": "string" }, "smallImageUrl": { "description": "smallImageUrl", "type": "string" }, "width": { "description": "width", "format": "int32", "type": "integer" } }, "required": [ "height", "imageUrl", "width" ], "type": "object" }, "ItemReference": { "description": "A DTO object for item references.", "properties": { "module": { "description": "module", "type": "string" }, "references": { "description": "references", "items": { "additionalProperties": { "type": "string" }, "type": "object" }, "type": "array" } }, "type": "object" }, "ItemReferenceInfo": { "description": "A DTO object for item references info.", "properties": { "references": { "description": "item references", "items": { "$ref": "#/definitions/ItemReference" }, "type": "array" } }, "type": "object" }, "ListSeasonInfo": { "description": "A DTO object for listing season info.", "properties": { "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "defaultLanguage": { "description": "default language, BCP 47 language tag", "type": "string" }, "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "id": { "description": "id", "type": "string" }, "name": { "description": "name, max length is 127", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passCodes": { "description": "pass codes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "publishedAt": { "description": "publishedAt", "format": "date-time", "type": "string", "x-nullable": true }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false }, "status": { "description": "status", "enum": [ "DRAFT", "PUBLISHED", "RETIRED" ], "type": "string" }, "tierItemId": { "description": "tier item id", "type": "string" }, "tierItemName": { "description": "tier item name", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "createdAt", "defaultLanguage", "end", "id", "name", "namespace", "start", "status", "tierItemId", "tierItemName", "updatedAt" ], "type": "object" }, "ListSeasonInfoPagingSlicedResult": { "properties": { "data": { "description": "data", "items": { "$ref": "#/definitions/ListSeasonInfo" }, "type": "array" }, "paging": { "$ref": "#/definitions/Paging" } }, "required": [ "data" ], "type": "object" }, "ListUserSeasonInfo": { "description": "A DTO object for listing user season data.", "properties": { "cleared": { "description": "whether cleared all tiers", "type": "boolean", "x-omitempty": false }, "currentTierIndex": { "description": "current tier index, zero based", "format": "int32", "type": "integer" }, "enrolledAt": { "description": "enroll date time", "format": "date-time", "type": "string", "x-nullable": false }, "id": { "description": "id", "type": "string" }, "lastTierIndex": { "description": "last tier index, zero based", "format": "int32", "type": "integer" }, "namespace": { "description": "namespace", "type": "string" }, "season": { "$ref": "#/definitions/SeasonSummary", "description": "season summary" }, "seasonId": { "description": "season id", "type": "string" }, "userId": { "description": "user id", "type": "string" } }, "required": [ "cleared", "currentTierIndex", "enrolledAt", "id", "lastTierIndex", "namespace", "seasonId", "userId" ], "type": "object" }, "ListUserSeasonInfoPagingSlicedResult": { "properties": { "data": { "description": "data", "items": { "$ref": "#/definitions/ListUserSeasonInfo" }, "type": "array" }, "paging": { "$ref": "#/definitions/Paging" }, "total": { "format": "int64", "type": "integer" } }, "required": [ "data" ], "type": "object" }, "Localization": { "properties": { "description": { "description": "description info", "type": "string" }, "title": { "description": "title info", "type": "string" } }, "type": "object" }, "LocalizedPassInfo": { "description": "A DTO object for public user retrieving pass info.", "properties": { "autoEnroll": { "description": "autoEnroll", "type": "boolean", "x-omitempty": false }, "code": { "description": "code", "type": "string" }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "description": { "description": "description info", "type": "string" }, "displayOrder": { "description": "displayOrder", "type": "string" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "language": { "description": "current language", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passItemId": { "description": "pass item id", "type": "string" }, "seasonId": { "description": "season id", "type": "string" }, "title": { "description": "title info", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "autoEnroll", "code", "createdAt", "displayOrder", "language", "namespace", "passItemId", "seasonId", "updatedAt" ], "type": "object" }, "LocalizedSeasonInfo": { "description": "A DTO object for public user retrieving season info.", "properties": { "autoClaim": { "description": "whether auto claim rewards", "type": "boolean", "x-omitempty": false }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "description": { "description": "description info", "type": "string" }, "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "id": { "description": "id", "type": "string" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "language": { "description": "current language", "type": "string" }, "name": { "description": "name, max length is 127", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passCodes": { "description": "pass codes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "passes": { "description": "passes info", "items": { "$ref": "#/definitions/LocalizedPassInfo" }, "type": "array" }, "publishedAt": { "description": "publishedAt", "format": "date-time", "type": "string", "x-nullable": true }, "rewards": { "additionalProperties": { "$ref": "#/definitions/RewardInfo" }, "description": "rewards info", "type": "object" }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false }, "status": { "description": "status", "enum": [ "DRAFT", "PUBLISHED", "RETIRED" ], "type": "string" }, "tierItemId": { "description": "tier item id", "type": "string" }, "tiers": { "description": "tiers info", "items": { "$ref": "#/definitions/Tier" }, "type": "array" }, "title": { "description": "title info", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "autoClaim", "createdAt", "end", "id", "language", "name", "namespace", "passes", "rewards", "start", "status", "tierItemId", "tiers", "updatedAt" ], "type": "object" }, "Ownership": { "properties": { "owned": { "description": "ownership", "type": "boolean", "x-omitempty": false } }, "required": [ "owned" ], "type": "object" }, "Paging": { "properties": { "next": { "type": "string" }, "previous": { "type": "string" } }, "type": "object" }, "PassCreate": { "description": "A DTO object for creating pass API call.", "properties": { "autoEnroll": { "description": "autoEnroll for free pass, default false", "type": "boolean", "x-omitempty": false }, "code": { "description": "code, allowed characters from a-z0-9_:- and start/end in alphanumeric, max length is 255", "type": "string" }, "displayOrder": { "description": "displayOrder for frontend to arrange the pass", "format": "int32", "type": "integer" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "passItemId": { "description": "pass item id", "type": "string" } }, "required": [ "code", "displayOrder", "localizations", "passItemId" ], "type": "object" }, "PassInfo": { "description": "A DTO object for pass info.", "properties": { "autoEnroll": { "description": "autoEnroll", "type": "boolean", "x-omitempty": false }, "code": { "description": "code", "type": "string" }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "displayOrder": { "description": "displayOrder", "type": "string" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "namespace": { "description": "namespace", "type": "string" }, "passItemId": { "description": "pass item id", "type": "string" }, "passItemName": { "description": "pass item name", "type": "string" }, "seasonId": { "description": "season id", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "autoEnroll", "code", "createdAt", "displayOrder", "localizations", "namespace", "passItemId", "passItemName", "seasonId", "updatedAt" ], "type": "object" }, "PassUpdate": { "description": "A DTO object for updating pass API call.", "properties": { "autoEnroll": { "description": "autoEnroll for free pass", "type": "boolean", "x-omitempty": false }, "displayOrder": { "description": "displayOrder for frontend to arrange the pass", "format": "int32", "type": "integer" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "passItemId": { "description": "pass item id", "type": "string" } }, "type": "object" }, "Permission": { "properties": { "action": { "format": "int32", "type": "integer" }, "resource": { "type": "string" } }, "type": "object" }, "ReasonTagsResult": { "description": "A DTO object for reason tags.", "properties": { "tags": { "description": "tags", "items": { "type": "string" }, "type": "array" } }, "required": [ "tags" ], "type": "object" }, "RewardCreate": { "description": "A DTO object for creating reward API call.", "properties": { "code": { "description": "code, allowed characters from a-z0-9_:- and start/end in alphanumeric, max length is 255", "type": "string" }, "currency": { "$ref": "#/definitions/RewardCurrency", "description": "currency, required when reward type is CURRENCY" }, "image": { "$ref": "#/definitions/Image", "description": "image, thumbnail for reward" }, "itemId": { "description": "itemId, required when reward type is ITEM, the item type should be one of: INGAMEITEM,COINS,BUNDLE", "type": "string" }, "quantity": { "description": "Item quantity or Currency amount, default 1", "format": "int32", "type": "integer" }, "type": { "description": "type, at current only support ITEM", "enum": [ "CURRENCY", "ITEM" ], "type": "string" } }, "required": [ "code", "type" ], "type": "object" }, "RewardCurrency": { "description": "A DTO object for reward currency.", "properties": { "currencyCode": { "description": "currency code, alphabet uppercase", "type": "string" }, "namespace": { "description": "namespace, allowed values: game namespace or publisher namespace", "type": "string" } }, "required": [ "currencyCode", "namespace" ], "type": "object" }, "RewardInfo": { "description": "A DTO object for reward info.", "properties": { "code": { "description": "code", "type": "string" }, "currency": { "$ref": "#/definitions/RewardCurrency", "description": "currency, required when reward type is CURRENCY" }, "image": { "$ref": "#/definitions/Image", "description": "image, thumbnail for reward" }, "itemId": { "description": "itemId, required when reward type is ITEM", "type": "string" }, "itemName": { "description": "itemName, required when reward type is ITEM", "type": "string" }, "itemSku": { "description": "itemSku, required when reward type is ITEM", "type": "string" }, "itemType": { "description": "itemType, required when reward type is ITEM", "enum": [ "APP", "BUNDLE", "CODE", "COINS", "EXTENSION", "INGAMEITEM", "LOOTBOX", "MEDIA", "OPTIONBOX", "SEASON", "SUBSCRIPTION" ], "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "quantity": { "description": "Item quantity or Currency amount, default 1", "format": "int32", "type": "integer" }, "seasonId": { "description": "seasonId", "type": "string" }, "type": { "description": "type", "enum": [ "CURRENCY", "ITEM" ], "type": "string" } }, "required": [ "code", "namespace", "seasonId", "type" ], "type": "object" }, "RewardUpdate": { "description": "A DTO object for updating reward API call.", "properties": { "currency": { "$ref": "#/definitions/RewardCurrency", "description": "currency, required when reward type is CURRENCY" }, "image": { "$ref": "#/definitions/Image", "description": "image, thumbnail for reward" }, "itemId": { "description": "itemId, required when reward type is ITEM, the item type should be one of: INGAMEITEM,COINS,BUNDLE", "type": "string" }, "nullFields": { "description": "nullFields", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "quantity": { "description": "Item quantity or Currency amount, default 1", "format": "int32", "type": "integer" }, "type": { "description": "type, at current only support ITEM", "enum": [ "CURRENCY", "ITEM" ], "type": "string" } }, "type": "object" }, "SeasonCloneRequest": { "description": "A DTO object for clone season API call.", "properties": { "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "name": { "description": "name, max length is 127", "type": "string" }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "end", "name", "start" ], "type": "object" }, "SeasonCreate": { "description": "A DTO object for creating season API call.", "properties": { "autoClaim": { "description": "whether auto claim rewards, default true", "type": "boolean", "x-omitempty": false }, "defaultLanguage": { "description": "default language, BCP 47 language tag, default is en", "type": "string" }, "defaultRequiredExp": { "description": "default exp required for a tier", "format": "int32", "type": "integer" }, "draftStoreId": { "description": "draft store id", "type": "string" }, "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "excessStrategy": { "$ref": "#/definitions/ExcessStrategy", "description": "strategy while exceed final tier exp, default NONE" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "name": { "description": "name, max length is 127", "type": "string" }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false }, "tierItemId": { "description": "tier item id", "type": "string" } }, "required": [ "defaultRequiredExp", "draftStoreId", "end", "localizations", "name", "start", "tierItemId" ], "type": "object" }, "SeasonInfo": { "description": "A DTO object for season info.", "properties": { "autoClaim": { "description": "whether auto claim rewards", "type": "boolean", "x-omitempty": false }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": false }, "defaultLanguage": { "description": "default language, BCP 47 language tag", "type": "string" }, "defaultRequiredExp": { "description": "default required exp for a tier", "format": "int32", "type": "integer" }, "draftStoreId": { "description": "draft store id", "type": "string" }, "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "excessStrategy": { "$ref": "#/definitions/ExcessStrategy", "description": "strategy while exceed final tier exp" }, "id": { "description": "id", "type": "string" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "name": { "description": "name, max length is 127", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passCodes": { "description": "pass codes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "publishedAt": { "description": "publishedAt", "format": "date-time", "type": "string", "x-nullable": true }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false }, "status": { "description": "status", "enum": [ "DRAFT", "PUBLISHED", "RETIRED" ], "type": "string" }, "tierItemId": { "description": "tier item id", "type": "string" }, "tierItemName": { "description": "tier item name", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": false } }, "required": [ "autoClaim", "createdAt", "defaultLanguage", "defaultRequiredExp", "draftStoreId", "end", "excessStrategy", "id", "localizations", "name", "namespace", "start", "status", "tierItemId", "tierItemName", "updatedAt" ], "type": "object" }, "SeasonSummary": { "description": "A DTO object for season summary.", "properties": { "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": false }, "id": { "description": "id", "type": "string" }, "name": { "description": "name, max length is 127", "type": "string" }, "namespace": { "description": "namespace", "type": "string" }, "passCodes": { "description": "season pass codes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "previous": { "$ref": "#/definitions/SeasonSummary", "description": "previous season, only present in some situation" }, "publishedAt": { "description": "publishedAt", "format": "date-time", "type": "string", "x-nullable": true }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": false }, "status": { "description": "status", "enum": [ "DRAFT", "PUBLISHED", "RETIRED" ], "type": "string" } }, "required": [ "end", "id", "name", "namespace", "start", "status" ], "type": "object" }, "SeasonUpdate": { "description": "A DTO object for updating season API call.", "properties": { "autoClaim": { "description": "whether auto claim rewards", "type": "boolean", "x-omitempty": false }, "defaultLanguage": { "description": "default language, BCP 47 language tag", "type": "string" }, "defaultRequiredExp": { "description": "default exp required for a tier", "format": "int32", "type": "integer" }, "draftStoreId": { "description": "draft store id", "type": "string" }, "end": { "description": "end date time", "format": "date-time", "type": "string", "x-nullable": true }, "excessStrategy": { "$ref": "#/definitions/ExcessStrategy", "description": "strategy while exceed final tier exp" }, "images": { "description": "images", "items": { "$ref": "#/definitions/Image" }, "type": "array" }, "localizations": { "additionalProperties": { "$ref": "#/definitions/Localization" }, "description": "localization, {language: localization} map", "type": "object" }, "name": { "description": "name, max length is 127", "type": "string" }, "start": { "description": "start date time", "format": "date-time", "type": "string", "x-nullable": true }, "tierItemId": { "description": "tier item id", "type": "string" } }, "type": "object" }, "Tier": { "properties": { "id": { "description": "tier id, auto generated.", "type": "string" }, "requiredExp": { "description": "required exp for tier, it will automatically use season defaultRequiredExp if not set", "format": "int32", "type": "integer" }, "rewards": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "description": "rewards map, passCode as key, rewardCode list as value", "type": "object" } }, "type": "object" }, "TierCreate": { "description": "A DTO object for creating tier API call.", "properties": { "index": { "description": "zero based tier index to be inserted at, -1 means appending to the end, default -1", "format": "int32", "type": "integer" }, "quantity": { "description": "create tier quantity, default 1", "format": "int32", "type": "integer" }, "tier": { "$ref": "#/definitions/TierInput", "description": "tier content, default null tier" } }, "type": "object" }, "TierInput": { "description": "A DTO object for tier input.", "properties": { "requiredExp": { "description": "required exp for tier, it will automatically use season defaultRequiredExp if not set", "format": "int32", "type": "integer" }, "rewards": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "description": "rewards map, passCode as key, rewardCode list as value", "type": "object" } }, "type": "object" }, "TierPagingSlicedResult": { "properties": { "data": { "description": "data", "items": { "$ref": "#/definitions/Tier" }, "type": "array" }, "paging": { "$ref": "#/definitions/Paging" }, "total": { "format": "int64", "type": "integer" } }, "required": [ "data" ], "type": "object" }, "TierReorder": { "properties": { "newIndex": { "description": "new index tier should be moved to, zero based, -1 means appending to the end", "format": "int32", "type": "integer" } }, "type": "object" }, "UserExpGrant": { "description": "A DTO object for granting user exp.", "properties": { "exp": { "description": "exp to grant", "format": "int32", "type": "integer" }, "source": { "description": "source", "enum": [ "PAID_FOR", "SWEAT" ], "type": "string" }, "tags": { "description": "tags", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "UserPassGrant": { "description": "A DTO object for granting user pass.", "properties": { "passCode": { "description": "pass code, required if passItemId null", "type": "string" }, "passItemId": { "description": "pass item id, required if passCode null and ignored if passCode present", "type": "string" } }, "type": "object" }, "UserPurchasable": { "description": "A DTO object for user purchasable.", "properties": { "passItemId": { "description": "pass item id", "type": "string" }, "tierItemCount": { "description": "tier item count, default 1", "format": "int32", "type": "integer" }, "tierItemId": { "description": "tier item id", "type": "string" } }, "type": "object" }, "UserRewardClaim": { "description": "A DTO object for claiming user reward.", "properties": { "passCode": { "description": "pass code", "type": "string" }, "rewardCode": { "description": "reward code", "type": "string" }, "tierIndex": { "description": "tier index", "format": "int32", "type": "integer" } }, "required": [ "passCode", "rewardCode", "tierIndex" ], "type": "object" }, "UserSeasonSummary": { "description": "A DTO object for user season summary.", "properties": { "cleared": { "description": "whether cleared all tiers", "type": "boolean", "x-omitempty": false }, "createdAt": { "description": "created at", "format": "date-time", "type": "string", "x-nullable": true }, "currentExp": { "description": "gained exp for current tier", "format": "int32", "type": "integer" }, "currentTierIndex": { "description": "current tier index, zero based", "format": "int32", "type": "integer" }, "enrolledAt": { "description": "enroll date time", "format": "date-time", "type": "string", "x-nullable": true }, "enrolledPasses": { "description": "enrolled passes", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "id": { "description": "id", "type": "string" }, "lastTierIndex": { "description": "last tier index, zero based", "format": "int32", "type": "integer" }, "namespace": { "description": "namespace", "type": "string" }, "requiredExp": { "description": "required exp for current tier", "format": "int32", "type": "integer" }, "seasonId": { "description": "season id", "type": "string" }, "updatedAt": { "description": "updated at", "format": "date-time", "type": "string", "x-nullable": true }, "userId": { "description": "user id", "type": "string" } }, "required": [ "namespace", "userId" ], "type": "object" }, "UserTierGrant": { "description": "A DTO object for granting user tier.", "properties": { "count": { "description": "count to grant", "format": "int32", "type": "integer" }, "source": { "description": "source", "enum": [ "PAID_FOR", "SWEAT" ], "type": "string" }, "tags": { "description": "tags", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "ValidationErrorEntity": { "properties": { "errorCode": { "description": "numeric error code", "format": "int32", "type": "integer" }, "errorMessage": { "description": "error message", "type": "string" }, "errors": { "items": { "$ref": "#/definitions/FieldValidationError" }, "type": "array" } }, "required": [ "errorCode", "errorMessage" ], "type": "object" } }, "x-docs": { "alias": "seasonpass", "host": "https://stage.accelbyte.io", "path": "/seasonpass/swagger.json" }, "x-version": { "buildBy": "Gradle 8.5", "buildDate": "2025-09-12T04:37:18+00:00", "buildID": "1.26.2", "buildJDK": "21.0.6 (Amazon.com Inc. 21.0.6+7-LTS)", "buildOS": "Linux amd64 5.10.240-238.959.amzn2.x86_64", "gitBranchName": "release-candidate", "gitHash": "e0fd20d047", "gitTag": "1.26.2", "name": "justice-seasonpass-service", "realm": "staging", "version": "1.26.2", "version-roles-seeding": "1.2.37" } }