{ "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": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "leagueName": { "type": "string" }, "seasonId": { "type": "string" }, "seasonName": { "type": "string" } }, "required": [ "id", "leagueId", "leagueName", "seasonId", "seasonName" ] }, "SponsoredLeagueDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ] }, "SponsorSponsorshipsDTO": { "type": "object", "properties": { "sponsorId": { "type": "string" }, "sponsorName": { "type": "string" } }, "required": [ "sponsorId", "sponsorName" ] }, "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": { "sponsorId": { "type": "string" }, "sponsorName": { "type": "string" } }, "required": [ "sponsorId", "sponsorName" ] }, "GetSponsorSponsorshipsQueryParamsDTO": { "type": "object", "properties": { "sponsorId": { "type": "string" } }, "required": [ "sponsorId" ] }, "GetSponsorDashboardQueryParamsDTO": { "type": "object", "properties": { "sponsorId": { "type": "string" } }, "required": [ "sponsorId" ] }, "CreateSponsorInputDTO": { "type": "object", "properties": { "name": { "type": "string" }, "contactEmail": { "type": "string" } }, "required": [ "name", "contactEmail" ] }, "WithdrawFromRaceParamsDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "driverId": { "type": "string" } }, "required": [ "raceId", "driverId" ] }, "RequestProtestDefenseCommandDTO": { "type": "object", "properties": { "protestId": { "type": "string" }, "stewardId": { "type": "string" } }, "required": [ "protestId", "stewardId" ] }, "RegisterForRaceParamsDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "leagueId": { "type": "string" }, "driverId": { "type": "string" } }, "required": [ "raceId", "leagueId", "driverId" ] }, "RacesPageDataRaceDTO": { "type": "object", "properties": { "id": { "type": "string" }, "track": { "type": "string" }, "car": { "type": "string" }, "scheduledAt": { "type": "string" }, "status": { "type": "string" }, "leagueId": { "type": "string" }, "leagueName": { "type": "string" } }, "required": [ "id", "track", "car", "scheduledAt", "status", "leagueId", "leagueName" ] }, "RaceWithSOFDTO": { "type": "object", "properties": { "id": { "type": "string" }, "track": { "type": "string" } }, "required": [ "id", "track" ] }, "RaceStatsDTO": { "type": "object", "properties": { "totalRaces": { "type": "number" } }, "required": [ "totalRaces" ] }, "RaceResultsDetailDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "track": { "type": "string" } }, "required": [ "raceId", "track" ] }, "RaceResultDTO": { "type": "object", "properties": { "driverId": { "type": "string" }, "driverName": { "type": "string" }, "avatarUrl": { "type": "string" }, "position": { "type": "number" }, "startPosition": { "type": "number" }, "incidents": { "type": "number" }, "fastestLap": { "type": "number" }, "positionChange": { "type": "number" }, "isPodium": { "type": "boolean" }, "isClean": { "type": "boolean" } }, "required": [ "driverId", "driverName", "avatarUrl", "position", "startPosition", "incidents", "fastestLap", "positionChange", "isPodium", "isClean" ] }, "RaceProtestDTO": { "type": "object", "properties": { "id": { "type": "string" }, "protestingDriverId": { "type": "string" }, "accusedDriverId": { "type": "string" }, "incident": { "type": "object" }, "lap": { "type": "number" }, "description": { "type": "string" } }, "required": [ "id", "protestingDriverId", "accusedDriverId", "incident", "lap", "description" ] }, "RacePenaltyDTO": { "type": "object", "properties": { "id": { "type": "string" }, "driverId": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "number" }, "reason": { "type": "string" }, "issuedBy": { "type": "string" }, "issuedAt": { "type": "string" } }, "required": [ "id", "driverId", "type", "value", "reason", "issuedBy", "issuedAt" ] }, "RaceDetailUserResultDTO": { "type": "object", "properties": { "position": { "type": "number" }, "startPosition": { "type": "number" }, "incidents": { "type": "number" }, "fastestLap": { "type": "number" }, "positionChange": { "type": "number" }, "isPodium": { "type": "boolean" }, "isClean": { "type": "boolean" } }, "required": [ "position", "startPosition", "incidents", "fastestLap", "positionChange", "isPodium", "isClean" ] }, "RaceDetailRegistrationDTO": { "type": "object", "properties": { "isUserRegistered": { "type": "boolean" }, "canRegister": { "type": "boolean" } }, "required": [ "isUserRegistered", "canRegister" ] }, "RaceDetailRaceDTO": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "track": { "type": "string" }, "car": { "type": "string" }, "scheduledAt": { "type": "string" }, "sessionType": { "type": "string" }, "status": { "type": "string" } }, "required": [ "id", "leagueId", "track", "car", "scheduledAt", "sessionType", "status" ] }, "RaceDetailLeagueDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "settings": { "type": "object" }, "maxDrivers": { "type": "number" }, "qualifyingFormat": { "type": "string" } }, "required": [ "id", "name", "description", "settings" ] }, "RaceDetailEntryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "country": { "type": "string" }, "avatarUrl": { "type": "string" } }, "required": [ "id", "name", "country", "avatarUrl" ] }, "RaceDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "date": { "type": "string" } }, "required": [ "id", "name", "date" ] }, "RaceActionParamsDTO": { "type": "object", "properties": { "raceId": { "type": "string" } }, "required": [ "raceId" ] }, "QuickPenaltyCommandDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "driverId": { "type": "string" }, "adminId": { "type": "string" } }, "required": [ "raceId", "driverId", "adminId" ] }, "ImportRaceResultsDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "resultsFileContent": { "type": "string" } }, "required": [ "raceId", "resultsFileContent" ] }, "GetRaceDetailParamsDTODTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "driverId": { "type": "string" } }, "required": [ "raceId", "driverId" ] }, "FileProtestCommandDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "protestingDriverId": { "type": "string" }, "accusedDriverId": { "type": "string" }, "incident": { "type": "object" }, "lap": { "type": "number" }, "description": { "type": "string" }, "timeInRace": { "type": "number" } }, "required": [ "raceId", "protestingDriverId", "accusedDriverId", "incident", "lap", "description" ] }, "DashboardRecentResultDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "raceName": { "type": "string" }, "leagueId": { "type": "string" }, "leagueName": { "type": "string" }, "finishedAt": { "type": "string" }, "position": { "type": "number" }, "incidents": { "type": "number" } }, "required": [ "raceId", "raceName", "leagueId", "leagueName", "finishedAt", "position", "incidents" ] }, "DashboardRaceSummaryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "leagueName": { "type": "string" }, "track": { "type": "string" }, "car": { "type": "string" }, "scheduledAt": { "type": "string" } }, "required": [ "id", "leagueId", "leagueName", "track", "car", "scheduledAt" ] }, "DashboardLeagueStandingSummaryDTO": { "type": "object", "properties": { "leagueId": { "type": "string" }, "leagueName": { "type": "string" }, "position": { "type": "number" }, "totalDrivers": { "type": "number" }, "points": { "type": "number" } }, "required": [ "leagueId", "leagueName", "position", "totalDrivers", "points" ] }, "DashboardFriendSummaryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "country": { "type": "string" }, "avatarUrl": { "type": "string" } }, "required": [ "id", "name", "country", "avatarUrl" ] }, "DashboardFeedSummaryDTO": { "type": "object", "properties": { "notificationCount": { "type": "number" } }, "required": [ "notificationCount" ] }, "DashboardFeedItemSummaryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "enum": { "type": "string" } }, "required": [ "id", "enum" ] }, "DashboardDriverSummaryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "country": { "type": "string" }, "avatarUrl": { "type": "string" } }, "required": [ "id", "name", "country", "avatarUrl" ] }, "ApplyPenaltyCommandDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "driverId": { "type": "string" }, "stewardId": { "type": "string" }, "enum": { "type": "string" } }, "required": [ "raceId", "driverId", "stewardId", "enum" ] }, "RequestAvatarGenerationInputDTO": { "type": "object", "properties": { "userId": { "type": "string" }, "facePhotoData": { "type": "string" }, "suitColor": { "type": "string" } }, "required": [ "userId", "facePhotoData", "suitColor" ] }, "UpdatePaymentStatusInputDTO": { "type": "object", "properties": { "paymentId": { "type": "string" } }, "required": [ "paymentId" ] }, "PaymentDto": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ] }, "MembershipFeeDto": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" } }, "required": [ "id", "leagueId" ] }, "MemberPaymentDto": { "type": "object", "properties": { "id": { "type": "string" }, "feeId": { "type": "string" }, "driverId": { "type": "string" }, "amount": { "type": "number" }, "platformFee": { "type": "number" }, "netAmount": { "type": "number" } }, "required": [ "id", "feeId", "driverId", "amount", "platformFee", "netAmount" ] }, "PrizeDto": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "seasonId": { "type": "string" }, "position": { "type": "number" }, "name": { "type": "string" }, "amount": { "type": "number" } }, "required": [ "id", "leagueId", "seasonId", "position", "name", "amount" ] }, "WalletDto": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "balance": { "type": "number" }, "totalRevenue": { "type": "number" }, "totalPlatformFees": { "type": "number" }, "totalWithdrawn": { "type": "number" }, "createdAt": { "type": "string", "format": "date-time" }, "currency": { "type": "string" } }, "required": [ "id", "leagueId", "balance", "totalRevenue", "totalPlatformFees", "totalWithdrawn", "createdAt", "currency" ] }, "TransactionDto": { "type": "object", "properties": { "id": { "type": "string" }, "walletId": { "type": "string" } }, "required": [ "id", "walletId" ] }, "PaymentDTO": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ] }, "GetDriverRegistrationStatusQueryDTO": { "type": "object", "properties": { "raceId": { "type": "string" }, "driverId": { "type": "string" } }, "required": [ "raceId", "driverId" ] }, "DriverStatsDTO": { "type": "object", "properties": { "totalDrivers": { "type": "number" } }, "required": [ "totalDrivers" ] }, "DriverRegistrationStatusDTO": { "type": "object", "properties": { "isRegistered": { "type": "boolean" }, "raceId": { "type": "string" }, "driverId": { "type": "string" } }, "required": [ "isRegistered", "raceId", "driverId" ] }, "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" } }, "required": [ "id", "name", "rating", "skillLevel", "nationality", "racesCompleted", "wins", "podiums", "isActive", "rank" ] }, "CompleteOnboardingOutputDTO": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "CompleteOnboardingInputDTO": { "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "displayName": { "type": "string" }, "country": { "type": "string" } }, "required": [ "firstName", "lastName", "displayName", "country" ] }, "UpdateLeagueMemberRoleOutputDTO": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "UpdateLeagueMemberRoleInputDTO": { "type": "object", "properties": { "leagueId": { "type": "string" }, "performerDriverId": { "type": "string" }, "targetDriverId": { "type": "string" } }, "required": [ "leagueId", "performerDriverId", "targetDriverId" ] }, "SeasonDTO": { "type": "object", "properties": { "seasonId": { "type": "string" }, "name": { "type": "string" }, "leagueId": { "type": "string" } }, "required": [ "seasonId", "name", "leagueId" ] }, "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": [ "success" ] }, "RejectJoinRequestInputDTO": { "type": "object", "properties": { "requestId": { "type": "string" }, "leagueId": { "type": "string" } }, "required": [ "requestId", "leagueId" ] }, "ProtestDTO": { "type": "object", "properties": { "id": { "type": "string" }, "raceId": { "type": "string" }, "protestingDriverId": { "type": "string" }, "accusedDriverId": { "type": "string" }, "submittedAt": { "type": "string", "format": "date-time" }, "description": { "type": "string" } }, "required": [ "id", "raceId", "protestingDriverId", "accusedDriverId", "submittedAt", "description" ] }, "LeagueWithCapacityDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ] }, "LeagueSummaryDTO": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ] }, "LeagueStatsDTO": { "type": "object", "properties": { "totalMembers": { "type": "number" }, "totalRaces": { "type": "number" }, "averageRating": { "type": "number" } }, "required": [ "totalMembers", "totalRaces", "averageRating" ] }, "LeagueStandingDTO": { "type": "object", "properties": { "driverId": { "type": "string" } }, "required": [ "driverId" ] }, "LeagueSeasonSummaryDTO": { "type": "object", "properties": { "seasonId": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" } }, "required": [ "seasonId", "name", "status" ] }, "LeagueMemberDTO": { "type": "object", "properties": { "driverId": { "type": "string" } }, "required": [ "driverId" ] }, "LeagueJoinRequestDTO": { "type": "object", "properties": { "id": { "type": "string" }, "leagueId": { "type": "string" }, "driverId": { "type": "string" }, "requestedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "leagueId", "driverId", "requestedAt" ] }, "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" ] }, "LeagueConfigFormModelScoringDTO": { "type": "object", "properties": { "type": { "type": "string" }, "points": { "type": "number" } }, "required": [ "type", "points" ] }, "LeagueConfigFormModelDTO": { "type": "object", "properties": { "leagueId": { "type": "string" } }, "required": [ "leagueId" ] }, "LeagueConfigFormModelBasicsDTO": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } }, "required": [ "name", "description" ] }, "LeagueAdminPermissionsDTO": { "type": "object", "properties": { "canRemoveMember": { "type": "boolean" }, "canUpdateRoles": { "type": "boolean" } }, "required": [ "canRemoveMember", "canUpdateRoles" ] }, "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" ] }, "CreateLeagueOutputDTO": { "type": "object", "properties": { "leagueId": { "type": "string" }, "success": { "type": "boolean" } }, "required": [ "leagueId", "success" ] }, "CreateLeagueInputDTO": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } }, "required": [ "name", "description" ] }, "ApproveJoinRequestOutputDTO": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [ "success" ] }, "ApproveJoinRequestInputDTO": { "type": "object", "properties": { "requestId": { "type": "string" }, "leagueId": { "type": "string" } }, "required": [ "requestId", "leagueId" ] }, "AuthenticatedUserDTO": { "type": "object", "properties": { "userId": { "type": "string" }, "email": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "userId", "email", "displayName" ] }, "AuthSessionDTO": { "type": "object", "properties": { "token": { "type": "string" }, "user": { "$ref": "#/components/schemas/AuthenticatedUserDTO" } }, "required": [ "token", "user" ] }, "RecordPageViewOutputDTO": { "type": "object", "properties": { "pageViewId": { "type": "string" } }, "required": [ "pageViewId" ] }, "RecordEngagementOutputDTO": { "type": "object", "properties": { "eventId": { "type": "string" }, "engagementWeight": { "type": "number" } }, "required": [ "eventId", "engagementWeight" ] } } } }