{ "schemes": [ "https" ], "swagger": "2.0", "info": { "description": "This is the Penguin Statistics v3 Backend, implemented for best performance, scalability, and reliability.", "title": "Penguin Statistics API", "contact": { "name": "AlvISs_Reimu", "url": "https://github.com/AlvISsReimu", "email": "alvissreimu@gmail.com" }, "license": { "name": "MIT License", "url": "https://opensource.org/licenses/MIT" }, "version": "3.0.0" }, "host": "penguin-stats.io", "basePath": "/", "paths": { "/PenguinStats/api/v2/config": { "get": { "produces": [ "application/json" ], "tags": [ "FrontendConfig" ], "summary": "Get FrontendConfig", "responses": { "200": { "description": "OK" }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/formula": { "get": { "produces": [ "application/json" ], "tags": [ "Formula" ], "summary": "Get Formula", "responses": { "200": { "description": "OK" }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/items": { "get": { "produces": [ "application/json" ], "tags": [ "Item" ], "summary": "Get All Items", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Item" }, { "type": "object", "properties": { "existence": { "$ref": "#/definitions/model.Existence" }, "name_i18n": { "$ref": "#/definitions/model.I18nString" } } } ] } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/items/{itemId}": { "get": { "produces": [ "application/json" ], "tags": [ "Item" ], "summary": "Get an Item with ID", "parameters": [ { "type": "string", "description": "Item ID", "name": "itemId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Item" }, { "type": "object", "properties": { "existence": { "$ref": "#/definitions/model.Existence" }, "name_i18n": { "$ref": "#/definitions/model.I18nString" } } } ] } }, "400": { "description": "Invalid or missing itemId. Notice that this shall be the **string ID** of the item, instead of the internally used numerical ID of the item.", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/notice": { "get": { "produces": [ "application/json" ], "tags": [ "Notice" ], "summary": "Get All Notices", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/model.Notice" } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/period": { "get": { "produces": [ "application/json" ], "tags": [ "EventPeriod" ], "summary": "Get All Event Periods", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "allOf": [ { "$ref": "#/definitions/v2.Activity" }, { "type": "object", "properties": { "existence": { "$ref": "#/definitions/model.Existence" }, "label_i18n": { "$ref": "#/definitions/model.I18nString" } } } ] } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/report": { "post": { "security": [ { "PenguinIDAuth": [] } ], "description": "Submit a Drop Report. You can use the `reportHash` in the response to recall the report in 24 hours after it has been submitted.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "Submit a Drop Report", "parameters": [ { "description": "Report request", "name": "report", "in": "body", "required": true, "schema": { "$ref": "#/definitions/types.SingularReportRequest" } } ], "responses": { "200": { "description": "Report has been successfully submitted", "schema": { "$ref": "#/definitions/v2.ReportResponse" } }, "400": { "description": "Invalid request", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/report/recall": { "post": { "description": "Recall a Drop Report by its `reportHash`. The farest report you can recall is limited to 24 hours. Recalling a report after it has been already recalled will result in an error.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "Recall a Drop Report", "parameters": [ { "description": "Report Recall request", "name": "report", "in": "body", "required": true, "schema": { "$ref": "#/definitions/types.SingularReportRecallRequest" } } ], "responses": { "204": { "description": "Report has been successfully recalled" }, "400": { "description": "`reportHash` is missing, invalid, or already been recalled.", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/report/recognition": { "post": { "security": [ { "PenguinIDAuth": [] } ], "description": "Submit an Item Drop Report with Frontend Recognition. Notice that this is a **private API** and is not designed for external use.", "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "Bulk Submit with Frontend Recognition", "parameters": [ { "description": "Recognition Report Request", "name": "report", "in": "body", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Report has been successfully submitted for queue processing", "schema": { "$ref": "#/definitions/v2.RecognitionReportResponse" } }, "400": { "description": "Invalid request", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/result/advanced": { "post": { "produces": [ "application/json" ], "tags": [ "Result" ], "summary": "Execute Advanced Query", "parameters": [ { "description": "Query", "name": "query", "in": "body", "required": true, "schema": { "$ref": "#/definitions/types.AdvancedQueryRequest" } } ], "responses": { "200": { "description": "Drop Matrix Response: when `interval` has been left undefined.", "schema": { "allOf": [ { "$ref": "#/definitions/v2.AdvancedQueryResult" }, { "type": "object", "properties": { "advanced_results": { "type": "array", "items": { "$ref": "#/definitions/v2.DropMatrixQueryResult" } } } } ] } }, "202": { "description": "Trend Response: when `interval` has been defined a value greater than `0`. Notice that this response still responds with a status code of `200`, but due to swagger limitations, to denote a different response with the same status code is not possible. Therefore, a status code of `202` is used, only for the purpose of workaround.", "schema": { "allOf": [ { "$ref": "#/definitions/v2.AdvancedQueryResult" }, { "type": "object", "properties": { "advanced_results": { "type": "array", "items": { "$ref": "#/definitions/v2.TrendQueryResult" } } } } ] } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/result/matrix": { "get": { "security": [ { "PenguinIDAuth": [] } ], "produces": [ "application/json" ], "tags": [ "Result" ], "summary": "Get Drop Matrix", "parameters": [ { "enum": [ "CN", "US", "JP", "KR" ], "type": "string", "description": "Server; default to CN", "name": "server", "in": "query", "required": true }, { "type": "boolean", "description": "Whether to query for personal drop matrix or not. If `is_personal` equals to `true`, a valid PenguinID would be required to be provided (PenguinIDAuth)", "name": "is_personal", "in": "query" }, { "type": "boolean", "description": "Whether to show closed stages or not", "name": "show_closed_zones", "in": "query" }, { "enum": [ "all", "automated", "manual" ], "type": "string", "description": "Category; default to all", "name": "category", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "Comma separated list of stage IDs to filter", "name": "stageFilter", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "Comma separated list of item IDs to filter", "name": "itemFilter", "in": "query" } ], "responses": { "200": { "description": "Drop Matrix response", "schema": { "$ref": "#/definitions/v2.DropMatrixQueryResult" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/result/pattern": { "get": { "security": [ { "PenguinIDAuth": [] } ], "produces": [ "application/json" ], "tags": [ "Result" ], "summary": "Get Pattern Matrix", "parameters": [ { "enum": [ "CN", "US", "JP", "KR" ], "type": "string", "description": "Server; default to CN", "name": "server", "in": "query", "required": true }, { "type": "boolean", "description": "Whether to query for personal drop matrix or not. If `is_personal` equals to `true`, a valid PenguinID would be required to be provided (PenguinIDAuth)", "name": "is_personal", "in": "query" }, { "type": "boolean", "description": "Show all patterns; default to false", "name": "showAllPatterns", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v2.PatternMatrixQueryResult" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/result/trends": { "get": { "produces": [ "application/json" ], "tags": [ "Result" ], "summary": "Get Trends", "parameters": [ { "enum": [ "CN", "US", "JP", "KR" ], "type": "string", "description": "Server; default to CN", "name": "server", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v2.TrendQueryResult" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/stages": { "get": { "produces": [ "application/json" ], "tags": [ "Stage" ], "summary": "Get All Stages", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Stage" }, { "type": "object", "properties": { "code_i18n": { "$ref": "#/definitions/model.I18nString" }, "existence": { "$ref": "#/definitions/model.Existence" } } } ] } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/stages/{stageId}": { "get": { "produces": [ "application/json" ], "tags": [ "Stage" ], "summary": "Get a Stage with ID", "parameters": [ { "type": "integer", "description": "Stage ID", "name": "stageId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Stage" }, { "type": "object", "properties": { "code_i18n": { "$ref": "#/definitions/model.I18nString" }, "existence": { "$ref": "#/definitions/model.Existence" } } } ] } }, "400": { "description": "Invalid or missing stageId. Notice that this shall be the **string ID** of the stage, instead of the internally used numerical ID of the stage.", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/stats": { "get": { "produces": [ "application/json" ], "tags": [ "SiteStats" ], "summary": "Get Site Stats", "parameters": [ { "enum": [ "CN", "US", "JP", "KR" ], "type": "string", "description": "Server; default to CN", "name": "server", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.SiteStats" } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/users": { "post": { "security": [ { "PenguinIDAuth": [] } ], "consumes": [ "text/plain" ], "produces": [ "text/plain" ], "tags": [ "Account" ], "summary": "Login with PenguinID", "parameters": [ { "description": "User ID", "name": "userId", "in": "body", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "User ID. In the deprecated backend this is, for some reason, been implemented to return a JSON in the response body but with a `Content-Type: text/plain` in the response header instead of the correct `Content-Type: application/json`. So the v2 API has replicated this behavior to ensure compatibility.", "schema": { "$ref": "#/definitions/v2.LoginResponse" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/zones": { "get": { "produces": [ "application/json" ], "tags": [ "Zone" ], "summary": "Get All Zones", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Zone" }, { "type": "object", "properties": { "existence": { "$ref": "#/definitions/model.Existence" }, "zoneName_i18n": { "$ref": "#/definitions/model.I18nString" } } } ] } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } }, "/PenguinStats/api/v2/zones/{zoneId}": { "get": { "produces": [ "application/json" ], "tags": [ "Zone" ], "summary": "Get a Zone with ID", "parameters": [ { "type": "integer", "description": "Zone ID", "name": "zoneId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/exusiai_dev_backend-next_internal_model_v2.Zone" }, { "type": "object", "properties": { "existence": { "$ref": "#/definitions/model.Existence" }, "zoneName_i18n": { "$ref": "#/definitions/model.I18nString" } } } ] } }, "400": { "description": "Invalid or missing zoneId. Notice that this shall be the **string ID** of the zone, instead of the v3 API internally used numerical ID of the zone.", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/pgerr.PenguinError" } } } } } }, "definitions": { "exusiai_dev_backend-next_internal_model_v2.Item": { "type": "object", "properties": { "alias": { "type": "array", "items": { "type": "string" } }, "existence": { "type": "object" }, "groupID": { "type": "string" }, "itemId": { "type": "string" }, "itemType": { "type": "string" }, "name": { "type": "string" }, "name_i18n": { "type": "object" }, "pron": { "type": "array", "items": { "type": "string" } }, "rarity": { "type": "integer" }, "sortId": { "type": "integer" }, "spriteCoord": { "type": "array", "items": { "type": "integer" } } } }, "exusiai_dev_backend-next_internal_model_v2.SiteStats": { "type": "object", "properties": { "totalApCost": { "type": "integer" }, "totalItemQuantities": { "type": "array", "items": { "$ref": "#/definitions/v2.TotalItemQuantity" } }, "totalStageTimes": { "type": "array", "items": { "$ref": "#/definitions/v2.TotalStageTime" } }, "totalStageTimes_24h": { "type": "array", "items": { "$ref": "#/definitions/v2.TotalStageTime" } } } }, "exusiai_dev_backend-next_internal_model_v2.Stage": { "type": "object", "properties": { "apCost": { "type": "integer", "example": 6 }, "code": { "type": "string", "example": "1-7" }, "code_i18n": { "type": "object" }, "dropInfos": { "type": "array", "items": { "$ref": "#/definitions/v2.DropInfo" } }, "existence": { "type": "object" }, "isGacha": { "type": "boolean", "example": false }, "minClearTime": { "type": "integer", "example": 118000 }, "recognitionOnly": { "type": "array", "items": { "type": "string" } }, "stageId": { "type": "string", "example": "main_01-07" }, "stageType": { "description": "StageType is the type of the stage\n* MAIN - Mainline Stages\n* SUB - Sub Stages\n* ACTIVITY - Activity Stages\n* DAILY - Daily Stages", "type": "string", "enum": [ "MAIN", "SUB", "ACTIVITY", "DAILY" ], "example": "MAIN" }, "zoneId": { "type": "string", "example": "main_1" } } }, "exusiai_dev_backend-next_internal_model_v2.Zone": { "type": "object", "properties": { "background": { "type": "string" }, "existence": { "type": "object" }, "stages": { "type": "array", "items": { "type": "string" } }, "subType": { "type": "string" }, "type": { "type": "string" }, "zoneId": { "type": "string" }, "zoneIndex": { "type": "integer" }, "zoneName": { "type": "string" }, "zoneName_i18n": { "type": "object" } } }, "model.Existence": { "type": "object", "required": [ "CN", "JP", "KR", "US" ], "properties": { "CN": { "description": "CN: 国服 Mainland China Server (maintained by Hypergryph Network Technology Co., Ltd.)", "allOf": [ { "$ref": "#/definitions/model.ServerExistence" } ] }, "JP": { "description": "JP: 日服 Japan Server (maintained by Yostar Inc,.)", "allOf": [ { "$ref": "#/definitions/model.ServerExistence" } ] }, "KR": { "description": "KR: 韩服 Korea Server (maintained by Yostar Limited)", "allOf": [ { "$ref": "#/definitions/model.ServerExistence" } ] }, "US": { "description": "US: 美服/国际服 Global Server (maintained by Yostar Limited)", "allOf": [ { "$ref": "#/definitions/model.ServerExistence" } ] } } }, "model.I18nString": { "type": "object", "required": [ "en", "ja", "ko", "zh" ], "properties": { "en": { "description": "EN: English (en)", "type": "string" }, "ja": { "description": "JP: 日本語 (ja)", "type": "string" }, "ko": { "description": "KR: 한국어 (ko)", "type": "string" }, "zh": { "description": "ZH: 中文 (zh-CN)", "type": "string" } } }, "model.Notice": { "type": "object", "properties": { "content_i18n": { "type": "array", "items": { "type": "integer" } }, "existence": { "type": "object" }, "id": { "type": "integer" }, "severity": { "type": "integer" } } }, "model.ServerExistence": { "type": "object", "required": [ "exist" ], "properties": { "closeTime": { "type": "integer", "example": 1635966000000 }, "exist": { "type": "boolean", "example": true }, "openTime": { "type": "integer", "example": 1634799600000 } } }, "pgerr.PenguinError": { "type": "object", "properties": { "code": { "type": "string", "example": "INVALID_REQUEST" }, "message": { "type": "string", "example": "invalid request: some or all request parameters are invalid" } } }, "types.AdvancedQuery": { "type": "object", "required": [ "server", "stageId" ], "properties": { "end": { "type": "integer" }, "interval": { "type": "integer" }, "isPersonal": { "type": "boolean" }, "itemIds": { "type": "array", "items": { "type": "string" } }, "server": { "type": "string" }, "sourceCategory": { "type": "string" }, "stageId": { "type": "string" }, "start": { "type": "integer" } } }, "types.AdvancedQueryRequest": { "type": "object", "required": [ "queries" ], "properties": { "queries": { "type": "array", "maxItems": 5, "minItems": 1, "items": { "$ref": "#/definitions/types.AdvancedQuery" } } } }, "types.ArkDrop": { "type": "object", "required": [ "dropType", "itemId", "quantity" ], "properties": { "dropType": { "type": "string", "enum": [ "REGULAR_DROP", "NORMAL_DROP", "SPECIAL_DROP", "EXTRA_DROP", "FURNITURE" ] }, "itemId": { "type": "string", "example": "30013" }, "quantity": { "type": "integer", "maximum": 1000, "minimum": 0 } } }, "types.ReportRequestMetadata": { "type": "object", "properties": { "fileName": { "type": "string", "maxLength": 512 }, "fingerprint": { "type": "string", "maxLength": 128 }, "lastModified": { "type": "integer" }, "md5": { "type": "string", "maxLength": 32 }, "recognizerAssetsVersion": { "type": "string", "maxLength": 32 }, "recognizerVersion": { "type": "string", "maxLength": 32 } } }, "types.SingularReportRecallRequest": { "type": "object", "required": [ "reportHash" ], "properties": { "reportHash": { "type": "string", "example": "cahbuch1eqliv7dopen0-5ejlUrfzNMXNHY6Q" } } }, "types.SingularReportRequest": { "type": "object", "required": [ "server", "source", "stageId", "version" ], "properties": { "drops": { "type": "array", "items": { "$ref": "#/definitions/types.ArkDrop" } }, "metadata": { "$ref": "#/definitions/types.ReportRequestMetadata" }, "server": { "type": "string", "example": "CN" }, "source": { "description": "Source describes a source of the report. Third-party API consumers should change this to their own name.", "type": "string", "maxLength": 128, "example": "your-app-name" }, "stageId": { "type": "string", "example": "main_01-07" }, "times": { "type": "integer", "maximum": 6, "minimum": 0 }, "version": { "description": "Version describes the version of the source app used to submit this report. Third-party API consumers should change this to their own app version.", "type": "string", "maxLength": 128, "example": "v0.0.0+0000000" } } }, "v2.Activity": { "type": "object", "properties": { "end": { "type": "integer" }, "existence": { "type": "object" }, "label_i18n": { "type": "object" }, "start": { "type": "integer" } } }, "v2.AdvancedQueryResult": { "type": "object", "properties": { "advanced_results": { "type": "array", "items": {} } } }, "v2.DropInfo": { "type": "object", "properties": { "bounds": { "type": "object" }, "dropType": { "type": "string" }, "itemId": { "type": "string" } } }, "v2.DropMatrixQueryResult": { "type": "object", "properties": { "matrix": { "type": "array", "items": { "$ref": "#/definitions/v2.OneDropMatrixElement" } } } }, "v2.LoginResponse": { "type": "object", "properties": { "userID": { "type": "string" } } }, "v2.OneDrop": { "type": "object", "properties": { "itemId": { "type": "string", "example": "30012" }, "quantity": { "type": "integer", "example": 1 } } }, "v2.OneDropMatrixElement": { "type": "object", "properties": { "end": { "type": "integer" }, "itemId": { "type": "string", "example": "30012" }, "quantity": { "type": "integer", "example": 1322056 }, "stageId": { "type": "string", "example": "main_01-07" }, "start": { "type": "integer", "example": 1556676000000 }, "stdDev": { "type": "number", "example": 0.114514 }, "times": { "type": "integer", "example": 1061347 } } }, "v2.OneItemTrend": { "type": "object", "properties": { "quantity": { "type": "array", "items": { "type": "integer" } }, "times": { "type": "array", "items": { "type": "integer" } } } }, "v2.OnePatternMatrixElement": { "type": "object", "properties": { "end": { "type": "integer", "x-nullable": true }, "pattern": { "$ref": "#/definitions/v2.Pattern" }, "quantity": { "type": "integer", "example": 159486 }, "stageId": { "type": "string", "example": "main_01-07" }, "start": { "type": "integer", "example": 1633032000000 }, "times": { "type": "integer", "example": 641734 } } }, "v2.Pattern": { "type": "object", "properties": { "drops": { "type": "array", "items": { "$ref": "#/definitions/v2.OneDrop" } } } }, "v2.PatternMatrixQueryResult": { "type": "object", "properties": { "pattern_matrix": { "type": "array", "items": { "$ref": "#/definitions/v2.OnePatternMatrixElement" } } } }, "v2.RecognitionReportResponse": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "string" } }, "taskId": { "type": "string", "example": "0522ce0083000000-1wE2I9dvMFXXzBMpSCYM81rJ0T3tLrAQ" } } }, "v2.ReportResponse": { "type": "object", "properties": { "reportHash": { "type": "string", "example": "0522ce0083000000-1wE2I9dvMFXXzBMpSCYM81rJ0T3tLrAQ" } } }, "v2.StageTrend": { "type": "object", "properties": { "results": { "type": "object", "additionalProperties": { "$ref": "#/definitions/v2.OneItemTrend" } }, "startTime": { "type": "integer" } } }, "v2.TotalItemQuantity": { "type": "object", "properties": { "itemId": { "type": "string" }, "quantity": { "type": "integer" } } }, "v2.TotalStageTime": { "type": "object", "properties": { "stageId": { "type": "string" }, "times": { "type": "integer" } } }, "v2.TrendQueryResult": { "type": "object", "properties": { "trend": { "type": "object", "additionalProperties": { "$ref": "#/definitions/v2.StageTrend" } } } } }, "securityDefinitions": { "PenguinIDAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }