{ "schemes": [ "http", "https" ], "swagger": "2.0", "info": { "description": "Stats service with API-key auth", "title": "NBA_Go API", "contact": {}, "version": "1.0" }, "basePath": "/", "paths": { "/api/playeradvancedstats": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns filtered and paginated player stats", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "PlayerStats" ], "summary": "Get player stats", "parameters": [ { "type": "integer", "description": "Season (e.g., 2025)", "name": "season", "in": "query" }, { "type": "string", "description": "Team abbreviation (e.g., MIL)", "name": "team", "in": "query" }, { "type": "string", "description": "Player ID (e.g., greenaj01)", "name": "playerId", "in": "query" }, { "type": "integer", "default": 1, "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "default": 20, "description": "Page size", "name": "pageSize", "in": "query" }, { "type": "string", "description": "Field to sort by (e.g., per, games, winShares)", "name": "sortBy", "in": "query" }, { "type": "boolean", "description": "Sort ascending (default false)", "name": "ascending", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/playertotals": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Filter and paginate player totals", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "PlayerTotals" ], "summary": "Get player total stats", "parameters": [ { "type": "integer", "description": "Season (e.g. 2000)", "name": "season", "in": "query" }, { "type": "string", "description": "Team abbreviation (e.g. LAL)", "name": "team", "in": "query" }, { "type": "string", "description": "Player ID (e.g. greenac01)", "name": "playerId", "in": "query" }, { "type": "integer", "default": 1, "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "default": 20, "description": "Page size", "name": "pageSize", "in": "query" }, { "type": "string", "description": "Field to sort by (e.g. points, assists)", "name": "sortBy", "in": "query" }, { "type": "boolean", "description": "Sort ascending (default false)", "name": "ascending", "in": "query" }, { "type": "boolean", "description": "Whether the stats are for playoffs", "name": "isPlayoff", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "500": { "description": "Internal Server Error", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } } }, "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", "name": "X-API-Key", "in": "header" } } }