swagger: '2.0' info: description: 'This is Genius Sports Services Fixture API.

Changelog resume

Authentication

You need to provide two tokens in every API call. The access_token for Auth0 client AND your API key

What is new in Fixtures API v2.

Fixture Tree Structure

Examples

I am interested in round 2 fixtures for the English Premier League


I am interested in Arsenal and their players

' version: 2.0.280 title: Fixtures-v2 Competitions Ingestion API contact: email: sbonboarding@geniussports.com license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html host: fixtures.api.geniussports.com basePath: /v2 schemes: - https tags: - name: Ingestion paths: /ingestion/competitions/searchById: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by competition Id. description: Search for ingestion proposals by competition Id. produces: - application/json parameters: - name: onlyOwned in: query description: Indicates whether proposals from other sources should be included. required: false type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: ids in: query description: A list of competition Ids required: true type: string - name: x-api-key in: header required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalCompetition' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/competitions/searchBySourceEntityId: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by source entity Id. description: Search for ingestion proposals by source entity Id. produces: - application/json parameters: - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: sourceEntityIds in: query description: A list of source entity Ids required: true type: string - name: x-api-key in: header required: true type: string - name: source in: query description: The source that ingested the proposals. required: false type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalCompetition' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/competitions/{trackingRequestId}/status: options: consumes: - application/json produces: - application/json parameters: - name: trackingRequestId in: path required: true type: string responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Tracking the progress of the asynchronous execution. description: Returns the current state of the ingestion request produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: trackingRequestId in: path description: GUID returned from an ingestion request required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/competitionTrackingStatusResponse' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/fixtures/searchById: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by fixture Id. description: Search for ingestion proposals by fixture Id. produces: - application/json parameters: - name: onlyOwned in: query description: Indicates whether proposals from other sources should be included. required: false type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: ids in: query description: A list of fixture Ids required: true type: string - name: x-api-key in: header required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalFixture' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/fixtures/searchBySourceEntityId: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by source entity Id. description: Search for ingestion proposals by source entity Id. produces: - application/json parameters: - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: sourceEntityIds in: query description: A list of source entity Ids required: true type: string - name: x-api-key in: header required: true type: string - name: source in: query description: The source that ingested the proposals. required: false type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalFixture' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/fixtures/{trackingRequestId}/status: options: consumes: - application/json produces: - application/json parameters: - name: trackingRequestId in: path required: true type: string responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Tracking the progress of the asynchronous execution. description: Returns the current state of the ingestion request produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: trackingRequestId in: path description: GUID returned from an ingestion request required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/fixtureTrackingStatusResponse' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/squads/searchById: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by squad Id. description: Search for ingestion proposals by squad Id. produces: - application/json parameters: - name: onlyOwned in: query description: Indicates whether proposals from other sources should be included. required: false type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: ids in: query description: A list of squad Ids required: true type: string - name: x-api-key in: header required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalSquad' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/squads/searchBySourceEntityId: options: consumes: - application/json produces: - application/json responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Search for ingestion proposals by source entity Id. description: Search for ingestion proposals by source entity Id. produces: - application/json parameters: - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: sourceEntityIds in: query description: A list of source entity Ids required: true type: string - name: x-api-key in: header required: true type: string - name: source in: query description: The source that ingested the proposals. required: false type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ArrayOfproposalSquad' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/squads/{trackingRequestId}/status: options: consumes: - application/json produces: - application/json parameters: - name: trackingRequestId in: path required: true type: string responses: '200': description: 200 response schema: $ref: '#/definitions/Empty' headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Methods: type: string Access-Control-Allow-Headers: type: string tags: - Ingestion get: tags: - Ingestion summary: Tracking the progress of the asynchronous execution. description: Returns the current state of the ingestion request produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: trackingRequestId in: path description: GUID returned from an ingestion request required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/squadTrackingStatusResponse' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '301': description: redirect operation headers: Location: type: string '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorModel' '413': description: Payload Too Large schema: $ref: '#/definitions/ErrorModel' '403': description: Forbidden schema: $ref: '#/definitions/ErrorModel' '415': description: Unsupported Media Type schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/competitions: post: tags: - Ingestion summary: Ingest competition data for update or create consumes: - application/json produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - in: body name: competitionIngestion required: true schema: $ref: '#/definitions/competitionIngestion' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/trackingRequestModel' '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/fixtures: post: tags: - Ingestion summary: Ingest fixture data for update or create description: 'Ingesting competitors requires indicating the competitor type. There are 3 options: Specify competitionType on competition level. Specify competitorType on competitor level. Include one of the teamPropertiesModel/playerPropertiesModel/doublesPropertiesModel fields on a competitor level.' consumes: - application/json produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - in: body name: fixtureIngestion required: true schema: $ref: '#/definitions/fixtureIngestion' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/trackingRequestModel' '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] patch: tags: - Ingestion summary: Patch existing fixture request. Currently support only lineups patch by sourceEntityId of the fixture. consumes: - application/json produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - in: body name: fixtureIngestionPatch required: true schema: $ref: '#/definitions/fixtureIngestionPatch' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/trackingRequestModel' '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] /ingestion/squads: post: tags: - Ingestion summary: Ingest team squad players data for update or create consumes: - application/json produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - in: body name: squadIngestion required: true schema: $ref: '#/definitions/squadIngestion' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/trackingRequestModel' '500': description: Internal Server Error schema: $ref: '#/definitions/ErrorModel' '404': description: Not found schema: $ref: '#/definitions/ErrorModel' '504': description: Gateway Timeout schema: $ref: '#/definitions/ErrorModel' '429': description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you schema: $ref: '#/definitions/ErrorModel' security: - Auth0: [] - api_key: [] definitions: Error: type: object required: - domain - message - reason properties: reason: type: string domain: type: string locationType: type: string location: type: string message: type: string fixtureMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: startDate: type: string format: date-time description: The start date of the fixture in UTC ISO-8601 format. (yyyy-MM-ddTHH:mmZ) title: Start Date startDateUnreliable: type: boolean description: Whether the start date is unreliable or not. If true, the start date is not reliable and it will be ignored for updates. title: Start Date Unreliable locality: $ref: '#/definitions/locality' eventStatus: type: string description: Notstarted, Inprogress, Finished, Cancelled, Postponed. sportSpecificRules: $ref: '#/definitions/sportSpecificRules' matchNumber: type: string atNeutralVenue: type: boolean coverageData: type: object properties: type: type: string description: The coverage source. liveData: type: boolean description: Whether the entity has live data coverage. liveVideo: type: boolean description: Whether the entity has live video coverage. officialReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: firstName: type: string lastName: type: string Role: type: string person: $ref: '#/definitions/baseResponseMatchModel' sourceCoverage: type: object properties: liveData: type: boolean description: Whether the entity has live data coverage. liveVideo: type: boolean description: Whether the entity has live video coverage. proposalDataBase: type: object properties: id: type: string name: type: string sourceEntityId: type: string sourceMetadata: type: object description: Source metadata title: An additional collection of metadata supplied by the source. additionalProperties: type: string proposalCompetitionPhaseData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: startDate: type: string format: date-time endDate: type: string format: date-time proposalSquadPlayerData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: gender: type: string person: $ref: '#/definitions/proposalPersonData' locality: $ref: '#/definitions/proposalLocalityData' contractStartDate: type: string format: date-time contractEndDate: type: string format: date-time birthDate: type: string format: date-time position: type: string shirtNumber: type: string isPartOfTeam: type: boolean competitorReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: lineup: $ref: '#/definitions/lineupReadonlyResponseModel' proposalCompetitionData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: gender: type: string competitionType: type: string startDate: type: string endDate: type: string locality: $ref: '#/definitions/proposalLocalityData' competitionPhaseReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: startDate: type: string format: date-time endDate: type: string format: date-time teamMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: gender: $ref: '#/definitions/gender' ageCategory: $ref: '#/definitions/ageCategory' locality: $ref: '#/definitions/locality' teamPropertiesModel: $ref: '#/definitions/teamPropertiesModel' squadTrackingStatusResponse: type: object properties: requestCuratedValue: $ref: '#/definitions/squadResponseMatchModel' status: $ref: '#/definitions/SimplifiedTrackingStatus' trackingRequestId: type: string description: Tracking Id of the progress of the asynchronous execution. title: GUID value proposalCompetition: type: object properties: id: type: string sourceEntityId: type: string sourceName: type: string status: type: string data: $ref: '#/definitions/proposalCompetitionIngestionData' competitionType: type: string title: 'One of: TeamsCompetition, PlayersCompetition, DoublePartnershipsCompetition' description: Defines the type of the competition to increase chances of correct matching proposalSeasonData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: startDate: type: string format: date-time endDate: type: string format: date-time competitorType: type: string title: 'One of: Team, Player, DoublePartnership' description: Defines the type of the competitor to increase chances of correct matching teamPropertiesModel: type: object properties: isNationalTeam: type: boolean description: Is it a national team isYouth: type: boolean description: Is it a youth team abbreviation: type: string description: An abbreviation of the team name shortName: type: string description: Short name of the team proposalSquadIngestionData: type: object properties: sport: $ref: '#/definitions/proposalSportData' organization: $ref: '#/definitions/proposalOrganizationData' team: $ref: '#/definitions/proposalSquadTeamData' players: type: array items: $ref: '#/definitions/proposalSquadPlayerData' officials: type: array items: $ref: '#/definitions/proposalOfficialData' proposalFixture: type: object properties: id: type: string sourceEntityId: type: string sourceName: type: string status: type: string data: $ref: '#/definitions/proposalFixtureIngestionData' coverage: type: array items: $ref: '#/definitions/coverageData' competitionIngestion: type: object required: - competition - sport properties: organization: $ref: '#/definitions/organizationMatchModel' competition: $ref: '#/definitions/competitionMatchModel' sport: $ref: '#/definitions/baseMatchModel' competitionPhases: type: array items: $ref: '#/definitions/competitionPhaseMatchModel' proposalSquad: type: object properties: id: type: string sourceEntityId: type: string sourceName: type: string status: type: string data: $ref: '#/definitions/proposalSquadIngestionData' competitionResponseMatchModel: type: object required: - competition - sport properties: sport: $ref: '#/definitions/baseResponseMatchModel' organization: $ref: '#/definitions/organizationReadonlyResponseModel' competition: $ref: '#/definitions/competitionReadonlyResponseModel' season: $ref: '#/definitions/baseResponseMatchModel' competitionPhases: type: array items: $ref: '#/definitions/competitionPhaseReadonlyResponseModel' fixtureResponseMatchModel: type: object required: - competition - fixture - sport properties: sport: $ref: '#/definitions/baseResponseMatchModel' organization: $ref: '#/definitions/organizationReadonlyResponseModel' competition: $ref: '#/definitions/competitionReadonlyResponseModel' season: $ref: '#/definitions/baseResponseMatchModel' competitionPhase: $ref: '#/definitions/competitionPhaseReadonlyResponseModel' fixture: $ref: '#/definitions/fixtureReadonlyResponseModel' competitors: type: array description: Client might send competitors separately to try to improve matching capabilities. items: $ref: '#/definitions/competitorReadonlyResponseModel' officials: $ref: '#/definitions/officialsReadonlyResponseModel' sourceCoverage: $ref: '#/definitions/sourceCoverage' coverage: $ref: '#/definitions/coverage' lineupPlayer: allOf: - $ref: '#/definitions/baseMatchModel' - properties: gender: $ref: '#/definitions/gender' locality: $ref: '#/definitions/locality' playerPropertiesModel: $ref: '#/definitions/basePlayerPropertiesModel' isStarter: type: boolean description: Indicates if the player is a starter in the lineup. order: type: integer description: The order of the player in the lineup, starting from 0. position: type: string description: The position of the player in the lineup, e.g., 'Forward', 'Keeper'. shirtNumber: type: string description: The shirt number of the player in the lineup. fixtureIngestionPatch: type: object required: - competitors - fixture properties: competitors: type: array items: $ref: '#/definitions/fixtureCompetitorMatchModel' fixture: type: object properties: sourceEntityId: type: string description: Source entity unique Id title: The external id from Genius Sports perspective and the internal for the source. By sending this param the backtracking capabilities improved, via push & pull. required: - sourceEntityId trackingRequestModel: type: object required: - trackingRequestId properties: trackingRequestId: type: string description: Tracking Id of the progress of the asynchronous execution. title: GUID value title: GUID value description: Tracking Id of the progress of the asynchronous execution. squadIngestion: type: object required: - players - sport - team properties: organization: $ref: '#/definitions/organizationMatchModel' team: $ref: '#/definitions/teamMatchModel' sport: $ref: '#/definitions/baseMatchModel' players: type: array description: Client might send competitors separately to try to improve matching capabilities. items: $ref: '#/definitions/playerMatchModel' officials: $ref: '#/definitions/officials' skipContractDeactivation: type: boolean description: This flag indicates whether to skip deactivation of player contracts that are not present in the current squad ingestion. If set to true, existing contracts will remain active even if the players are not included in the current ingestion. proposalCompetitionIngestionData: type: object properties: sport: $ref: '#/definitions/proposalSportData' organization: $ref: '#/definitions/proposalOrganizationData' season: $ref: '#/definitions/proposalSeasonData' competition: $ref: '#/definitions/proposalCompetitionData' competitionPhases: type: array items: $ref: '#/definitions/proposalCompetitionPhaseData' lineup: properties: formation: type: string description: The formation code of the team for the given lineup. E.g. 442 players: type: array description: List of players in the lineup. items: $ref: '#/definitions/lineupPlayer' sportSpecificRules: type: array items: $ref: '#/definitions/sportSpecificRule' firstLastNameModel: type: object properties: firstName: type: string description: The first name of the competitor lastName: type: string description: The last name of the competitor proposalPersonData: type: object properties: id: type: string name: type: string basePlayerPropertiesModel: allOf: - $ref: '#/definitions/firstLastNameModel' - properties: birthDate: type: string format: date-time description: Player birthdate in format - full-date notation, for example, 2017-07-21 title: Birth Date playerMatchModel: type: object properties: birthDate: type: string format: date-time description: Player birthdate in format - full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 title: Birth Date sourceEntityId: type: string description: Source entity unique Id title: The external id from Genius Sports perspective and the internal for the source. By sending this param the backtracking capabilities improved, via push & pull. position: type: string description: The playing position, depending on the sport. shirtNumber: type: number description: The number of the Shirt for the player locality: $ref: '#/definitions/locality' playerPropertiesModel: $ref: '#/definitions/firstLastNameModel' gender: $ref: '#/definitions/gender' name: type: string description: The full name of the player sourceMetadata: type: object description: Source metadata title: An additional collection of metadata supplied by the source. additionalProperties: type: string id: type: string description: Genius Sport Id title: If client has the Genius Sport Id it can be sent to improve overall matching capabilities and certainty or the results. fixtureIngestion: type: object required: - competition - competitors - fixture - sport properties: organization: $ref: '#/definitions/organizationMatchModel' competition: $ref: '#/definitions/competitionMatchModel' sport: $ref: '#/definitions/baseMatchModel' fixture: $ref: '#/definitions/fixtureMatchModel' venue: $ref: '#/definitions/venueMatchModel' competitors: type: array items: $ref: '#/definitions/fixtureCompetitorMatchModel' competitionPhase: $ref: '#/definitions/competitionPhaseMatchModel' officials: $ref: '#/definitions/officials' sourceCoverage: $ref: '#/definitions/sourceCoverage' coverage: $ref: '#/definitions/coverage' proposalLocalityData: type: object properties: id: type: string name: type: string ArrayOfproposalCompetition: type: array items: $ref: '#/definitions/proposalCompetition' official: allOf: - $ref: '#/definitions/baseMatchModel' - properties: gender: $ref: '#/definitions/gender' firstName: type: string lastName: type: string role: type: string description: The role of the official birthDate: type: string format: date-time description: Official birthdate in format - full-date notation, for example, 2017-07-21 title: Birth Date locality: $ref: '#/definitions/locality' venueMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: locality: $ref: '#/definitions/locality' city: type: string description: The city of the venue parentVenue: $ref: '#/definitions/baseMatchModel' Empty: type: object baseDbModel: type: object required: - name properties: name: type: string description: The name of the entity to be matched to Genius Sports name. Fuzzy matching is executed upon the official Genius Sports name. If this does not return result exact match is attempted on the aliases. id: type: string description: Genius Sport Id title: If client has the Genius Sport Id it can be sent to improve overall matching capabilities and certainty or the results. squadResponseMatchModel: type: object required: - players - sport - team properties: team: $ref: '#/definitions/baseResponseMatchModel' sport: $ref: '#/definitions/baseResponseMatchModel' organization: $ref: '#/definitions/organizationReadonlyResponseModel' players: type: array description: The result of the squad ingestion. items: $ref: '#/definitions/baseResponseMatchModel' officials: $ref: '#/definitions/officialsReadonlyResponseModel' competitionTrackingStatusResponse: type: object properties: requestCuratedValue: $ref: '#/definitions/competitionResponseMatchModel' status: $ref: '#/definitions/SimplifiedTrackingStatus' trackingRequestId: type: string description: Tracking Id of the progress of the asynchronous execution. title: GUID value SimplifiedTrackingStatus: type: integer format: int32 description: 'Status of the proposal request: Accepted = 0, AwaitingMatching = 1, MatchedAndProposed = 3, ProposedAndApproved = 5, InvalidProposal = 7, Matched = 8, FailedToProcess = 9, ProposedAndWaitingCuration = 10, EnrichingProposal = 12, Suspended = 14, Ignored = 15, Inconsistent = 16' enum: - '0' - '1' - '3' - '5' - '7' - '8' - '9' - '10' - '12' - '14' - '15' - '16' organizationMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: code: type: string description: The code of the organization officials: type: array items: $ref: '#/definitions/official' fixtureCompetitorMatchModel: allOf: - $ref: '#/definitions/competitorMatchModel' - properties: lineup: $ref: '#/definitions/lineup' preserveLineup: type: boolean description: Default value false, if set to true, it prevent accidental clearing of previously ingested lineups when subsequent proposals deliberately or incidentally omit the lineups field. title: Preserve Lineup playerPropertiesModel: allOf: - $ref: '#/definitions/basePlayerPropertiesModel' - properties: sourceEntityId: type: string description: Source entity unique Id title: The external id from Genius Sports perspective and the internal for the source. By sending this param the backtracking capabilities improved, via push & pull. id: type: string description: Genius Sport Id title: If client has the Genius Sport Id it can be sent to improve overall matching capabilities and certainty or the results. ArrayOfproposalFixture: type: array items: $ref: '#/definitions/proposalFixture' proposalOrganizationData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: code: type: string competitorMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: competitorType: $ref: '#/definitions/competitorType' locality: $ref: '#/definitions/locality' playerPropertiesModel: $ref: '#/definitions/playerPropertiesModel' doublesPropertiesModel: $ref: '#/definitions/doublesPropertiesModel' teamPropertiesModel: $ref: '#/definitions/teamPropertiesModel' gender: $ref: '#/definitions/gender' isHome: type: boolean description: Is this competitor the home competitor for the fixture gender: type: string title: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.' description: If sent an EXACT match is made on the enum, excluding all non-matching entities. competitionMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: gender: $ref: '#/definitions/gender' ageCategory: $ref: '#/definitions/ageCategory' startDate: type: string format: date-time description: The date on which the competition starts in format - full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 title: Start Date endDate: type: string format: date-time description: The date on which the competition ends in format - full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 title: End Date sponsorName: type: string description: The name of the competition sponsor title: Sponsor Name longName: type: string description: The long name of the competition title: Long Name shortName: type: string description: The short name of the competition title: Short Name locality: $ref: '#/definitions/locality' competitionType: $ref: '#/definitions/competitionType' sportSpecificRules: $ref: '#/definitions/sportSpecificRules' fixtureTrackingStatusResponse: type: object properties: requestCuratedValue: $ref: '#/definitions/fixtureResponseMatchModel' status: $ref: '#/definitions/SimplifiedTrackingStatus' trackingRequestId: type: string description: Tracking Id of the progress of the asynchronous execution. title: GUID value baseMatchModel: allOf: - $ref: '#/definitions/baseDbModel' - properties: sourceEntityId: type: string description: Source entity unique Id title: The external id from Genius Sports perspective and the internal for the source. By sending this param the backtracking capabilities improved, via push & pull. sourceMetadata: type: object description: Source metadata title: An additional collection of metadata supplied by the source. additionalProperties: type: string proposalCompetitorData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: gender: type: string locality: $ref: '#/definitions/proposalLocalityData' competitorType: type: string isHome: type: boolean competitorTypeSpecificData: type: object properties: {} lineup: $ref: '#/definitions/proposalLineupData' proposalSquadTeamData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: gender: type: string abbreviation: type: string isNationalTeam: type: boolean isYouth: type: boolean locality: $ref: '#/definitions/proposalLocalityData' officialsReadonlyResponseModel: type: array items: $ref: '#/definitions/officialReadonlyResponseModel' lineupReadonlyResponseModel: type: object required: - status properties: id: type: string description: Genius Sport Id title: If client has the Genius Sport Id it can be sent to improve overall matching capabilities and certainty or the results. status: $ref: '#/definitions/SimplifiedTrackingStatus' message: type: string description: Addional message regarding the status of the proposal title: Meaningful message for potential problems with the request. matchingId: type: string description: Tracking Id of the matching request that was made for the entity title: Tracking Id of the matching request. sourceEntityId: type: string description: Source entity unique Id title: The external id from Genius Sports perspective and the internal for the source. By sending this param the backtracking capabilities improved, via push & pull. sourceMetadata: type: object description: Source metadata title: An additional collection of metadata supplied by the source. additionalProperties: type: string players: type: array description: List of players in the lineup. items: $ref: '#/definitions/baseResponseMatchModel' proposalVenueData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: locality: type: string city: type: string proposalSportData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object proposalFixtureData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: startDate: type: string locality: $ref: '#/definitions/proposalLocalityData' eventStatus: type: string description: Notstarted, Inprogress, Finished, Cancelled, Postponed. matchNumber: type: string atNeutralVenue: type: boolean sportSpecificRule: type: object properties: name: type: string value: type: string competitionPhaseMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: startDate: type: string format: date-time description: The start date of the competition phase in UTC ISO-8601 format. (yyyy-MM-ddTHH:mmZ) title: Start Date endDate: type: string format: date-time description: The end date of the competition phase in UTC ISO-8601 format. (yyyy-MM-ddTHH:mmZ) title: End Date proposalFixtureIngestionData: type: object properties: sport: $ref: '#/definitions/proposalSportData' venue: $ref: '#/definitions/proposalVenueData' organization: $ref: '#/definitions/proposalOrganizationData' season: $ref: '#/definitions/proposalSeasonData' fixture: $ref: '#/definitions/proposalFixtureData' competition: $ref: '#/definitions/proposalCompetitionData' competitors: type: array items: $ref: '#/definitions/proposalCompetitorData' competitionPhase: $ref: '#/definitions/proposalCompetitionPhaseData' officials: type: array items: $ref: '#/definitions/proposalOfficialData' sourceCoverage: $ref: '#/definitions/sourceCoverage' coverage: type: array items: $ref: '#/definitions/coverageData' BadRequestModel: type: object properties: messages: type: array items: type: string proposalLineupData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: players: type: array items: $ref: '#/definitions/proposalDataBase' ErrorModel: type: object properties: code: type: integer format: int32 message: type: string error: $ref: '#/definitions/Error' competitionReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: sportSpecificRules: $ref: '#/definitions/sportSpecificRules' ArrayOfproposalSquad: type: array items: $ref: '#/definitions/proposalSquad' ageCategory: type: string title: Age Category description: 'Default is Senior. One of: U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, Senior' proposalOfficialData: allOf: - $ref: '#/definitions/proposalDataBase' - type: object properties: firstName: type: string lastName: type: string role: type: string locality: type: string title: 'Accepts either the 3 letter country code (ISO 3166-1 alpha-3 codes), the country name or the name of Continets, Administrive region, etc.. If a code is sent an EXACT match is made on the enum, excluding all non-matching entities. If the country is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score. The name of the country in free text form or one of: AFG, ALB, ALG, AND, ANG, ANT, ARG, ARM, ARU, ASA, AUS, AUT, AZE, BAH, BAN, BAR, BDI, BEL, BEN, BER, BHU, BIH, BIZ, BLR, BOL, BOT, BRA, BRN, BUL, BUR, CAF, CAM, CAN, CAY, CGO, CHA, CHI, CHN, CIV, CMR, COD, COK, COL, COM, CPV, CRC, CRO, CUB, CYP, CZE, DEN, DJI, DMA, DOM, ECU, EGY, ERI, ESA, ESP, EST, ETH, FIJ, FIN, FRA, FSM, GAB, GAM, GBR, GBS, GEO, GEQ, GER, GHA, GRE, GRN, GUA, GUI, GUM, GUY, HAI, HKG, HON, HUN, INA, IND, IRI, IRL, IRQ, ISL, ISR, ITA, IVB, JAM, JOR, JPN, KAZ, KEN, KGZ, KIR, KOR, KOS, KSA, KUW, LAO, LAT, LBA, LBN, LBR, LCA, LES, LIE, LTU, LUX, MAD, MAR, MAS, MAW, MDA, MDV, MEX, MGL, MHL, MKD, MLI, MLT, MNE, MON, MOZ, MRI, MTN, MYA, NAM, NCA, NED, NEP, NGR, NIG, NOR, NRU, NZL, OMA, PAK, PAN, PAR, PER, PHI, PLE, PLW, PNG, POL, POR, PUR, QAT, ROU, RSA, RUS, RWA, SAM, SEN, SEY, SGP, SKN, SLE, SLO, SMR, SOL, SOM, SRB, SRI, SSD, STP, SUD, SUI, SUR, SVK, SWE, SYR, TAN, TGA, THA, TJK, TKM, TOG, TTO, TUN, TUR, TUV, UAE, UGA, UKR, URU, USA, UZB, VAN, VEN, VIE, VIN, YEM, ZAM, ZIM' description: If sent а FUZZY match is made on the value and the similarity score is contributing to the end match score. organizationReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: code: type: string fixtureReadonlyResponseModel: allOf: - $ref: '#/definitions/baseResponseMatchModel' - properties: matchNumber: type: string atNeutralVenue: type: boolean sportSpecificRules: $ref: '#/definitions/sportSpecificRules' baseResponseMatchModel: allOf: - $ref: '#/definitions/baseMatchModel' - properties: status: $ref: '#/definitions/SimplifiedTrackingStatus' message: type: string description: Addional message regarding the status of the proposal title: Meaningful message for potential problems with the request. matchingId: type: string description: Tracking Id of the matching request that was made for the entity title: Tracking Id of the matching request. doublesPropertiesModel: type: object properties: firstCompetitor: $ref: '#/definitions/playerPropertiesModel' secondCompetitor: $ref: '#/definitions/playerPropertiesModel' securityDefinitions: Auth0: type: apiKey name: Authorization in: header x-amazon-apigateway-authtype: oauth2 api_key: type: apiKey name: x-api-key in: header x-amazon-apigateway-security-policy: TLS_1_0