Files
NBA_Go/docs/swagger.yaml
T
2025-05-12 19:56:21 -05:00

218 lines
4.8 KiB
YAML

basePath: /
definitions:
controllers.AdvancedStatsResponse:
properties:
data:
items:
$ref: '#/definitions/models.PlayerAdvancedStat'
type: array
pagination:
properties:
page:
type: integer
pageSize:
type: integer
pages:
type: integer
total:
type: integer
type: object
type: object
models.PlayerAdvancedStat:
properties:
age:
type: integer
assistPercent:
type: number
blockPercent:
type: number
box:
type: number
defensiveBox:
type: number
defensiveRBPercent:
type: number
defensiveWS:
type: number
ftr:
type: number
games:
type: integer
id:
type: integer
isPlayoff:
type: boolean
minutesPlayed:
type: integer
offensiveBox:
type: number
offensiveRBPercent:
type: number
offensiveWS:
type: number
per:
type: number
playerId:
type: string
playerName:
type: string
position:
type: string
season:
type: integer
stealPercent:
type: number
team:
type: string
threePAR:
type: number
totalRBPercent:
type: number
tsPercent:
type: number
turnoverPercent:
type: number
usagePercent:
type: number
vorp:
type: number
winShares:
type: number
winSharesPer:
type: number
type: object
info:
contact: {}
description: Stats service with API-key auth
title: NBA_Go API
version: "1.0"
paths:
/api/playeradvancedstats:
get:
consumes:
- application/json
description: Returns filtered and paginated player advanced stats
parameters:
- description: Season (e.g., 2025)
in: query
name: season
type: integer
- description: Team abbreviation (e.g., MIL)
in: query
name: team
type: string
- description: Player ID (e.g., greenaj01)
in: query
name: playerId
type: string
- default: 1
description: Page number
in: query
name: page
type: integer
- default: 20
description: Page size
in: query
name: pageSize
type: integer
- default: winShares
description: Field to sort by
in: query
name: sortBy
type: string
- default: false
description: Sort ascending
in: query
name: ascending
type: boolean
- description: Whether playoffs?
in: query
name: isPlayoff
type: boolean
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/controllers.AdvancedStatsResponse'
"500":
description: Internal Server Error
schema:
additionalProperties:
type: string
type: object
security:
- ApiKeyAuth: []
summary: Get player advanced stats
tags:
- PlayerStats
/api/playertotals:
get:
consumes:
- application/json
description: Filter and paginate player totals
parameters:
- description: Season (e.g. 2000)
in: query
name: season
type: integer
- description: Team abbreviation (e.g. LAL)
in: query
name: team
type: string
- description: Player ID (e.g. greenac01)
in: query
name: playerId
type: string
- default: 1
description: Page number
in: query
name: page
type: integer
- default: 20
description: Page size
in: query
name: pageSize
type: integer
- description: Field to sort by (e.g. points, assists)
in: query
name: sortBy
type: string
- description: Sort ascending (default false)
in: query
name: ascending
type: boolean
- description: Whether the stats are for playoffs
in: query
name: isPlayoff
type: boolean
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"500":
description: Internal Server Error
schema:
additionalProperties:
type: string
type: object
security:
- ApiKeyAuth: []
summary: Get player total stats
tags:
- PlayerTotals
schemes:
- http
- https
securityDefinitions:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
swagger: "2.0"