Files
gridpilot.gg/apps/api/openapi.json
2025-12-17 22:37:21 +01:00

2964 lines
67 KiB
JSON

{
"openapi": "3.0.0",
"info": {
"title": "GridPilot API",
"description": "GridPilot API documentation",
"version": "1.0.0"
},
"paths": {},
"components": {
"schemas": {
"SponsorshipPricingItemDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"level": {
"type": "string"
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"id",
"level",
"price",
"currency"
]
},
"SponsorshipDetailDTO": {
"type": "object",
"properties": {
"createdAt": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"leagueName": {
"type": "string"
},
"seasonId": {
"type": "string"
},
"seasonName": {
"type": "string"
},
"required": {
"type": "string"
},
"enum": {
"type": "string"
},
"pricing": {
"type": "string"
},
"currency": {
"type": "string"
},
"platformFee": {
"type": "string"
},
"netAmount": {
"type": "string"
},
"metrics": {
"type": "string"
},
"races": {
"type": "number"
},
"completedRaces": {
"type": "number"
},
"impressions": {
"type": "number"
}
},
"required": [
"createdAt",
"id",
"leagueId",
"leagueName",
"seasonId",
"seasonName",
"required",
"enum",
"pricing",
"currency",
"platformFee",
"netAmount",
"metrics",
"races",
"completedRaces",
"impressions"
]
},
"SponsoredLeagueDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"enum": {
"type": "string"
},
"drivers": {
"type": "number"
},
"races": {
"type": "number"
},
"impressions": {
"type": "number"
}
},
"required": [
"id",
"name",
"enum",
"drivers",
"races",
"impressions"
]
},
"SponsorSponsorshipsDTO": {
"type": "object",
"properties": {
"sponsorships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SponsorshipDetailDTO"
}
},
"sponsorId": {
"type": "string"
},
"sponsorName": {
"type": "string"
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[SponsorshipDetailDTO] })\n sponsorships: SponsorshipDetailDTO"
}
},
"summary": {
"type": "string"
},
"activeSponsorships": {
"type": "number"
},
"totalInvestment": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"sponsorships",
"sponsorId",
"sponsorName",
"type",
"summary",
"activeSponsorships",
"totalInvestment",
"totalPlatformFees",
"currency"
]
},
"SponsorDashboardMetricsDTO": {
"type": "object",
"properties": {
"impressions": {
"type": "number"
},
"impressionsChange": {
"type": "number"
},
"uniqueViewers": {
"type": "number"
},
"viewersChange": {
"type": "number"
},
"races": {
"type": "number"
},
"drivers": {
"type": "number"
},
"exposure": {
"type": "number"
},
"exposureChange": {
"type": "number"
}
},
"required": [
"impressions",
"impressionsChange",
"uniqueViewers",
"viewersChange",
"races",
"drivers",
"exposure",
"exposureChange"
]
},
"SponsorDashboardInvestmentDTO": {
"type": "object",
"properties": {
"activeSponsorships": {
"type": "number"
},
"totalInvestment": {
"type": "number"
},
"costPerThousandViews": {
"type": "number"
}
},
"required": [
"activeSponsorships",
"totalInvestment",
"costPerThousandViews"
]
},
"SponsorDashboardDTO": {
"type": "object",
"properties": {
"metrics": {
"$ref": "#/components/schemas/SponsorDashboardMetricsDTO"
},
"sponsoredLeagues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SponsoredLeagueDTO"
}
},
"investment": {
"$ref": "#/components/schemas/SponsorDashboardInvestmentDTO"
},
"sponsorId": {
"type": "string"
},
"sponsorName": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/SponsorDashboardMetricsDTO })\n metrics: SponsorDashboardMetricsDTO"
}
},
"required": [
"metrics",
"sponsoredLeagues",
"investment",
"sponsorId",
"sponsorName",
"type"
]
},
"GetSponsorsOutputDTO": {
"type": "object",
"properties": {
"sponsors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SponsorDTO"
}
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[SponsorDTO] })\n sponsors: SponsorDTO"
}
}
},
"required": [
"sponsors",
"type"
]
},
"GetSponsorSponsorshipsQueryParamsDTO": {
"type": "object",
"properties": {
"sponsorId": {
"type": "string"
}
},
"required": [
"sponsorId"
]
},
"GetSponsorDashboardQueryParamsDTO": {
"type": "object",
"properties": {
"sponsorId": {
"type": "string"
}
},
"required": [
"sponsorId"
]
},
"GetEntitySponsorshipPricingResultDTO": {
"type": "object",
"properties": {
"pricing": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SponsorshipPricingItemDTO"
}
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[SponsorshipPricingItemDTO] })\n pricing: SponsorshipPricingItemDTO"
}
}
},
"required": [
"pricing",
"type"
]
},
"CreateSponsorOutputDTO": {
"type": "object",
"properties": {
"sponsor": {
"$ref": "#/components/schemas/SponsorDTO"
},
"type": {
"$ref": "#/components/schemas/SponsorDTO })\n sponsor: SponsorDTO"
}
},
"required": [
"sponsor",
"type"
]
},
"CreateSponsorInputDTO": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"name",
"contactEmail",
"required"
]
},
"RacesPageDataRaceDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"RacesPageDataDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RacesPageDataRaceDto] })\n races!: RacesPageDataRaceDto"
}
}
},
"required": [
"type"
]
},
"RaceWithSOFDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"RaceResultsDetailDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RaceResultDto] })\n results!: RaceResultDto"
}
}
},
"required": [
"type"
]
},
"RaceProtestsDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RaceProtestDto] })\n protests!: RaceProtestDto"
}
}
},
"required": [
"type"
]
},
"RaceProtestDTO": {
"type": "object",
"properties": {
"lap": {
"type": "number"
},
"description": {
"type": "string"
}
},
"required": [
"lap",
"description"
]
},
"RacePenaltyDTO": {
"type": "object",
"properties": {
"notes": {
"type": "string"
},
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"RacePenaltiesDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RacePenaltyDTO] })\n penalties!: RacePenaltyDTO"
}
}
},
"required": [
"type"
]
},
"RaceDetailUserResultDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"RaceDetailRaceDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"nullable",
"required"
]
},
"RaceDetailLeagueDTO": {
"type": "object",
"properties": {
"maxDrivers": {
"type": "number"
},
"qualifyingFormat": {
"type": "string"
}
},
"required": [
"maxDrivers",
"qualifyingFormat"
]
},
"RaceDetailEntryDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"RaceDetailDTO": {
"type": "object",
"properties": {
"nullable": {
"$ref": "#/components/schemas/true })\n race!: RaceDetailRaceDTO null"
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RaceDetailEntryDTO] })\n entryList!: RaceDetailEntryDTO"
}
},
"required": {
"type": "string"
}
},
"required": [
"nullable",
"type",
"required"
]
},
"RaceDTO": {
"type": "object",
"properties": {
"leagueName": {
"type": "string"
},
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"QuickPenaltyCommandDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
},
"ImportRaceResultsSummaryDTO": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type"
]
},
"FileProtestCommandDTO": {
"type": "object",
"properties": {
"lap": {
"type": "number"
},
"description": {
"type": "string"
},
"timeInRace": {
"type": "number"
},
"required": {
"type": "string"
}
},
"required": [
"lap",
"description",
"timeInRace",
"required"
]
},
"DashboardRaceSummaryDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
}
},
"required": [
"enum"
]
},
"DashboardOverviewDTO": {
"type": "object",
"properties": {
"nullable": {
"$ref": "#/components/schemas/true })\n currentDriver!: DashboardDriverSummaryDTO null"
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[DashboardRaceSummaryDTO] })\n myUpcomingRaces!: DashboardRaceSummaryDTO"
}
}
},
"required": [
"nullable",
"type"
]
},
"DashboardFeedSummaryDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[DashboardFeedItemSummaryDTO] })\n items!: DashboardFeedItemSummaryDTO"
}
}
},
"required": [
"type"
]
},
"DashboardFeedItemSummaryDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
},
"DashboardDriverSummaryDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"ApplyPenaltyCommandDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
},
"AllRacesPageDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type"
]
},
"UpdatePaymentStatusOutputDTO": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/PaymentDTO"
},
"type": {
"$ref": "#/components/schemas/PaymentDTO })\n payment: PaymentDTO"
}
},
"required": [
"payment",
"type"
]
},
"UpdatePaymentStatusInputDTO": {
"type": "object",
"properties": {
"paymentId": {
"type": "string"
},
"enum": {
"type": "string"
}
},
"required": [
"paymentId",
"enum"
]
},
"PaymentDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"MembershipFeeDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"MemberPaymentDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"PrizeDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"WalletDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"TransactionDto": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/MemberPaymentDto"
},
"fee": {
"$ref": "#/components/schemas/MembershipFeeDto"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentDto"
}
},
"prizes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrizeDto"
}
},
"prize": {
"$ref": "#/components/schemas/PrizeDto"
},
"wallet": {
"$ref": "#/components/schemas/WalletDto"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDto"
}
},
"transaction": {
"$ref": "#/components/schemas/TransactionDto"
},
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"type": {
"$ref": "#/components/schemas/PaymentDto })\n payment: PaymentDto"
},
"paymentId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"feeId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"dueDate": {
"type": "string",
"format": "date-time"
},
"seasonId": {
"type": "string"
},
"position": {
"type": "number"
},
"name": {
"type": "string"
},
"awarded": {
"type": "boolean"
},
"prizeId": {
"type": "string"
},
"success": {
"type": "boolean"
},
"balance": {
"type": "number"
},
"totalRevenue": {
"type": "number"
},
"totalPlatformFees": {
"type": "number"
},
"totalWithdrawn": {
"type": "number"
},
"currency": {
"type": "string"
},
"walletId": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"payment",
"payment",
"payments",
"fee",
"payment",
"payments",
"prizes",
"prize",
"prize",
"wallet",
"transactions",
"wallet",
"transaction",
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt",
"type",
"paymentId",
"enabled",
"updatedAt",
"feeId",
"driverId",
"dueDate",
"seasonId",
"position",
"name",
"awarded",
"prizeId",
"success",
"balance",
"totalRevenue",
"totalPlatformFees",
"totalWithdrawn",
"currency",
"walletId",
"description"
]
},
"PaymentDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"platformFee": {
"type": "number"
},
"netAmount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"enum",
"amount",
"platformFee",
"netAmount",
"payerId",
"leagueId",
"required",
"createdAt"
]
},
"CreatePaymentOutputDTO": {
"type": "object",
"properties": {
"payment": {
"$ref": "#/components/schemas/PaymentDTO"
},
"type": {
"$ref": "#/components/schemas/PaymentDTO })\n payment: PaymentDTO"
}
},
"required": [
"payment",
"type"
]
},
"CreatePaymentInputDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"amount": {
"type": "number"
},
"payerId": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"amount",
"payerId",
"leagueId",
"required"
]
},
"RequestAvatarGenerationOutputDTO": {
"type": "object",
"properties": {
"avatarUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"type",
"required"
]
},
"RequestAvatarGenerationInputDTO": {
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"facePhotoData": {
"type": "string"
},
"suitColor": {
"type": "string"
}
},
"required": [
"userId",
"facePhotoData",
"suitColor"
]
},
"GetDriverRegistrationStatusQueryDTO": {
"type": "object",
"properties": {
"raceId": {
"type": "string"
},
"driverId": {
"type": "string"
}
},
"required": [
"raceId",
"driverId"
]
},
"DriversLeaderboardDTO": {
"type": "object",
"properties": {
"drivers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DriverLeaderboardItemDTO"
}
},
"totalRaces": {
"type": "number"
},
"totalWins": {
"type": "number"
},
"activeCount": {
"type": "number"
},
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[DriverLeaderboardItemDTO] })\n drivers: DriverLeaderboardItemDTO"
}
}
},
"required": [
"drivers",
"totalRaces",
"totalWins",
"activeCount",
"type"
]
},
"DriverStatsDTO": {
"type": "object",
"properties": {
"totalDrivers": {
"type": "number"
}
},
"required": [
"totalDrivers"
]
},
"DriverLeaderboardItemDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"rating": {
"type": "number"
},
"skillLevel": {
"type": "string"
},
"nationality": {
"type": "string"
},
"racesCompleted": {
"type": "number"
},
"wins": {
"type": "number"
},
"podiums": {
"type": "number"
},
"isActive": {
"type": "boolean"
},
"rank": {
"type": "number"
},
"avatarUrl": {
"type": "string"
},
"nullable": {
"type": "string"
}
},
"required": [
"id",
"name",
"rating",
"skillLevel",
"nationality",
"racesCompleted",
"wins",
"podiums",
"isActive",
"rank",
"nullable"
]
},
"CompleteOnboardingOutputDTO": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"required": {
"type": "string"
}
},
"required": [
"success",
"required"
]
},
"CompleteOnboardingInputDTO": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"displayName": {
"type": "string"
},
"country": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"firstName",
"lastName",
"displayName",
"country",
"required"
]
},
"UpdateLeagueMemberRoleOutputDTO": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"UpdateLeagueMemberRoleInputDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
},
"performerDriverId": {
"type": "string"
},
"targetDriverId": {
"type": "string"
},
"enum": {
"type": "string"
}
},
"required": [
"leagueId",
"performerDriverId",
"targetDriverId",
"enum"
]
},
"SeasonDTO": {
"type": "object",
"properties": {
"seasonId": {
"type": "string"
},
"name": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"required": {
"type": "string"
},
"enum": {
"type": "string"
},
"isPrimary": {
"type": "boolean"
}
},
"required": [
"seasonId",
"name",
"leagueId",
"required",
"enum",
"isPrimary"
]
},
"RemoveLeagueMemberOutputDTO": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"RemoveLeagueMemberInputDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
},
"performerDriverId": {
"type": "string"
},
"targetDriverId": {
"type": "string"
}
},
"required": [
"leagueId",
"performerDriverId",
"targetDriverId"
]
},
"RejectJoinRequestOutputDTO": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"required": {
"type": "string"
}
},
"required": [
"success",
"required"
]
},
"RejectJoinRequestInputDTO": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
},
"leagueId": {
"type": "string"
}
},
"required": [
"requestId",
"leagueId"
]
},
"ProtestDTO": {
"type": "object",
"properties": {
"TODO": {
"$ref": "#/components/schemas/protests are filed at race level but also managed on league level\n\nexport class ProtestDTO {\n @ApiProperty()\n @IsString()\n id: string"
},
"raceId": {
"type": "string"
},
"protestingDriverId": {
"type": "string"
},
"accusedDriverId": {
"type": "string"
},
"submittedAt": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"enum": {
"type": "string"
}
},
"required": [
"TODO",
"raceId",
"protestingDriverId",
"accusedDriverId",
"submittedAt",
"description",
"enum"
]
},
"LeagueWithCapacityDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"nullable": {
"type": "string"
},
"ownerId": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/() => LeagueSettingsDTO })\n @ValidateNested()\n @Type(() => LeagueSettingsDTO)\n settings: LeagueSettingsDTO"
},
"createdAt": {
"type": "string"
},
"usedSlots": {
"type": "number"
},
"youtubeUrl": {
"type": "string"
},
"websiteUrl": {
"type": "string"
}
},
"required": [
"id",
"name",
"nullable",
"ownerId",
"type",
"createdAt",
"usedSlots",
"youtubeUrl",
"websiteUrl"
]
},
"LeagueSummaryDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"nullable": {
"type": "string"
},
"memberCount": {
"type": "number"
},
"maxMembers": {
"type": "number"
},
"isPublic": {
"type": "boolean"
},
"ownerId": {
"type": "string"
}
},
"required": [
"id",
"name",
"nullable",
"memberCount",
"maxMembers",
"isPublic",
"ownerId"
]
},
"LeagueStatsDTO": {
"type": "object",
"properties": {
"totalMembers": {
"type": "number"
},
"totalRaces": {
"type": "number"
},
"averageRating": {
"type": "number"
}
},
"required": [
"totalMembers",
"totalRaces",
"averageRating"
]
},
"LeagueStandingsDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[LeagueStandingDTO] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => LeagueStandingDTO)\n standings: LeagueStandingDTO"
}
}
},
"required": [
"type"
]
},
"LeagueStandingDTO": {
"type": "object",
"properties": {
"driverId": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/() => DriverDto })\n @ValidateNested()\n @Type(() => DriverDto)\n driver: DriverDto"
},
"points": {
"type": "number"
},
"rank": {
"type": "number"
}
},
"required": [
"driverId",
"type",
"points",
"rank"
]
},
"LeagueSettingsDTO": {
"type": "object",
"properties": {
"nullable": {
"type": "string"
}
},
"required": [
"nullable"
]
},
"LeagueSeasonSummaryDTO": {
"type": "object",
"properties": {
"seasonId": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"required": {
"type": "string"
},
"isPrimary": {
"type": "boolean"
},
"isParallelActive": {
"type": "boolean"
}
},
"required": [
"seasonId",
"name",
"status",
"required",
"isPrimary",
"isParallelActive"
]
},
"LeagueScheduleDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[RaceDto] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RaceDto)\n races: RaceDto"
}
}
},
"required": [
"type"
]
},
"LeagueOwnerSummaryDTO": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/() => DriverDto })\n @ValidateNested()\n @Type(() => DriverDto)\n driver: DriverDto"
},
"nullable": {
"type": "string"
}
},
"required": [
"type",
"nullable"
]
},
"LeagueMembershipsDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[LeagueMemberDTO] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => LeagueMemberDTO)\n members: LeagueMemberDTO"
}
}
},
"required": [
"type"
]
},
"LeagueMemberDTO": {
"type": "object",
"properties": {
"driverId": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/() => DriverDto })\n @ValidateNested()\n @Type(() => DriverDto)\n driver: DriverDto"
},
"enum": {
"type": "string"
},
"joinedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"driverId",
"type",
"enum",
"joinedAt"
]
},
"LeagueJoinRequestDTO": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"leagueId": {
"type": "string"
},
"driverId": {
"type": "string"
},
"requestedAt": {
"type": "string",
"format": "date-time"
},
"required": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/() => DriverDto, required: false })\n @IsOptional()\n @ValidateNested()\n @Type(() => DriverDto)\n driver?: DriverDto"
}
},
"required": [
"id",
"leagueId",
"driverId",
"requestedAt",
"required",
"type"
]
},
"LeagueConfigFormModelTimingsDTO": {
"type": "object",
"properties": {
"raceDayOfWeek": {
"type": "string"
},
"raceTimeHour": {
"type": "number"
},
"raceTimeMinute": {
"type": "number"
}
},
"required": [
"raceDayOfWeek",
"raceTimeHour",
"raceTimeMinute"
]
},
"LeagueConfigFormModelStructureDTO": {
"type": "object",
"properties": {
"mode": {
"type": "string"
}
},
"required": [
"mode"
]
},
"LeagueConfigFormModelStewardingDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
},
"requireDefense": {
"type": "boolean"
},
"defenseTimeLimit": {
"type": "number"
},
"voteTimeLimit": {
"type": "number"
},
"protestDeadlineHours": {
"type": "number"
},
"stewardingClosesHours": {
"type": "number"
},
"notifyAccusedOnProtest": {
"type": "boolean"
},
"notifyOnVoteRequired": {
"type": "boolean"
}
},
"required": [
"enum",
"required",
"requireDefense",
"defenseTimeLimit",
"voteTimeLimit",
"protestDeadlineHours",
"stewardingClosesHours",
"notifyAccusedOnProtest",
"notifyOnVoteRequired"
]
},
"LeagueConfigFormModelScoringDTO": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"points": {
"type": "number"
}
},
"required": [
"type",
"points"
]
},
"LeagueConfigFormModelDropPolicyDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
},
"LeagueConfigFormModelDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/LeagueConfigFormModelBasicsDTO })\n @ValidateNested()\n @Type(() => LeagueConfigFormModelBasicsDTO)\n basics: LeagueConfigFormModelBasicsDTO"
}
},
"required": [
"leagueId",
"type"
]
},
"LeagueConfigFormModelBasicsDTO": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"enum": {
"type": "string"
}
},
"required": [
"name",
"description",
"enum"
]
},
"LeagueAdminProtestsDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[ProtestDTO] }) \n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ProtestDTO)\n protests: ProtestDTO"
}
}
},
"required": [
"type"
]
},
"LeagueAdminPermissionsDTO": {
"type": "object",
"properties": {
"canRemoveMember": {
"type": "boolean"
},
"canUpdateRoles": {
"type": "boolean"
}
},
"required": [
"canRemoveMember",
"canUpdateRoles"
]
},
"LeagueAdminDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[LeagueJoinRequestDTO] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => LeagueJoinRequestDTO)\n joinRequests: LeagueJoinRequestDTO"
}
}
},
"required": [
"type"
]
},
"LeagueAdminConfigDTO": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/() => LeagueConfigFormModelDTO, nullable: true })\n @IsOptional()\n @ValidateNested()\n @Type(() => LeagueConfigFormModelDTO)\n form: LeagueConfigFormModelDTO null"
}
},
"required": [
"type"
]
},
"GetLeagueSeasonsQueryDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
}
},
"required": [
"leagueId"
]
},
"GetLeagueProtestsQueryDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
}
},
"required": [
"leagueId"
]
},
"GetLeagueOwnerSummaryQueryDTO": {
"type": "object",
"properties": {
"ownerId": {
"type": "string"
},
"leagueId": {
"type": "string"
}
},
"required": [
"ownerId",
"leagueId"
]
},
"GetLeagueJoinRequestsQueryDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
}
},
"required": [
"leagueId"
]
},
"GetLeagueAdminPermissionsInputDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
},
"performerDriverId": {
"type": "string"
}
},
"required": [
"leagueId",
"performerDriverId"
]
},
"GetLeagueAdminConfigQueryDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
}
},
"required": [
"leagueId"
]
},
"GetLeagueAdminConfigOutputDTO": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/() => LeagueConfigFormModelDTO, nullable: true })\n @IsOptional()\n @ValidateNested()\n @Type(() => LeagueConfigFormModelDTO)\n form: LeagueConfigFormModelDTO null"
}
},
"required": [
"type"
]
},
"CreateLeagueOutputDTO": {
"type": "object",
"properties": {
"leagueId": {
"type": "string"
},
"success": {
"type": "boolean"
}
},
"required": [
"leagueId",
"success"
]
},
"CreateLeagueInputDTO": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"enum": {
"type": "string"
},
"ownerId": {
"type": "string"
}
},
"required": [
"name",
"description",
"enum",
"ownerId"
]
},
"ApproveJoinRequestOutputDTO": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"required": {
"type": "string"
}
},
"required": [
"success",
"required"
]
},
"ApproveJoinRequestInputDTO": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
},
"leagueId": {
"type": "string"
}
},
"required": [
"requestId",
"leagueId"
]
},
"AllLeaguesWithCapacityDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[LeagueWithCapacityDTO] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => LeagueWithCapacityDTO)\n leagues: LeagueWithCapacityDTO"
}
},
"totalCount": {
"type": "number"
}
},
"required": [
"type",
"totalCount"
]
},
"AllLeaguesWithCapacityAndScoringDTO": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"$ref": "#/components/schemas/[LeagueSummaryDTO] })\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => LeagueSummaryDTO)\n leagues: LeagueSummaryDTO"
}
},
"totalCount": {
"type": "number"
}
},
"required": [
"type",
"totalCount"
]
},
"AuthenticatedUserDTO": {
"type": "object",
"properties": {
"iracingCustomerId": {
"type": "string"
},
"primaryDriverId": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"returnTo": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"required"
]
},
"AuthSessionDTO": {
"type": "object",
"properties": {
"iracingCustomerId": {
"type": "string"
},
"primaryDriverId": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"returnTo": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"required"
]
},
"RecordPageViewInputDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
},
"RecordEngagementInputDTO": {
"type": "object",
"properties": {
"enum": {
"type": "string"
},
"required": {
"type": "string"
}
},
"required": [
"enum",
"required"
]
}
}
}
}