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 Contracts 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: Contracts paths: /contracts: 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: - Contracts get: tags: - Contracts summary: Retrieve contracts between person and different types of competitors. description: Returns the persons, the corresponding player and the competitor with which the person has contract of wrapped inside a HATEOAS model produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (competitor.Id, competitor.Name, person.Id, person.Name, player.Id, player.Name, createdon, modifiedon, updatedcount, startDate, endDate, isactive)' required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (competitor.Id, competitor.Name, person.Id, person.Name, player.Id, player.Name, createdon, modifiedon, updatedcount, startDate, endDate, isactive)' required: false type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ContractResponseModelHATEOASReponseModel' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '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: [] post: tags: - Contracts summary: Create new contract between competitor of any type and person 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: CreateContract required: true schema: $ref: '#/definitions/CreateContract' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '201': description: Created schema: $ref: '#/definitions/CompetitorContractResponseModel' headers: gs-duplicate-entity-replaced: type: string description: Returned when a duplicate entity has been replaced. Value is the 'duplicateEntityId' and the 'originalEntityId' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' '409': description: Conflict, see the response message or the 'geniussports-conflict-id' header to see the ID of the conflict! schema: $ref: '#/definitions/ErrorDuplicateModel' security: - Auth0: [] - api_key: [] put: tags: - Contracts summary: Update existing contract between competitor of any type and person 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: UpdateContract required: true schema: $ref: '#/definitions/UpdateContract' responses: '200': description: Success schema: $ref: '#/definitions/CompetitorContractResponseModel' '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' '409': description: Conflict, see the response message or the 'geniussports-conflict-id' header to see the ID of the conflict! schema: $ref: '#/definitions/ErrorDuplicateModel' security: - Auth0: [] - api_key: [] /competitors/doubles/{id}/contracts: get: tags: - Contracts summary: Retrieve persons which are part of the doubles partnership by Doubles Partnership ID/s. MAX 200 per page. description: Returns the persons which are part of the doubles partnership by GSS Doubles Partnership Id in the path, wrapped inside a HATEOAS model produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (competitorfromname, competitorfromid, competitorfromcompetitortype, createdon, modifiedon, updatedcount, from, to)' required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (competitorfromname, competitorfromid, competitorfromcompetitortype, createdon, modifiedon, updatedcount, from, to, isactive (default = true))' required: false type: string - name: id in: path description: Single competitors (doubles) ID to return details for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/CompetitorContractResponseModelHATEOASReponseModel' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '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: [] /competitors/players/{id}/contracts: get: tags: - Contracts summary: Retrieve persons which are associated with the current player (e.g. coaches) by Player ID/s. MAX 200 per page. description: Returns the persons which are associated with the current player (e.g. coaches) by GSS Player Id in the path, wrapped inside a HATEOAS model produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (competitortoname, competitortoid, competitortocompetitortype, createdon, modifiedon, updatedcount, from, to)' required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (competitortoname, competitortoid, competitortocompetitortype, createdon, modifiedon, updatedcount, from, to, isactive (default = true))' required: false type: string - name: id in: path description: Single competitors (players) ID to return details for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/PersonContractResponseModelHATEOASReponseModel' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '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: [] /competitors/teams/{id}/contracts: get: tags: - Contracts summary: Retrieve persons which are part of the team (a.k.a. Rosters) or persons which were part of the team by Team ID/s. MAX 200 per page. description: Returns the persons which were or are part of the team by GSS Team Id in the path, wrapped inside a HATEOAS model produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (competitorfromname, competitorfromid, competitorfromcompetitortype, createdon, modifiedon, updatedcount, from, to)' required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (competitorfromname, competitorfromid, competitorfromcompetitortype, createdon, modifiedon, updatedcount, from, to, isactive (default = true))' required: false type: string - name: id in: path description: Single competitors (teams) ID to return details for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/CompetitorContractResponseModelHATEOASReponseModel' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '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: [] /contracts/officials: post: tags: - Contracts summary: Create new contract between competitor and person who has a team official role 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: CreateCompetitorOfficialContract required: true schema: $ref: '#/definitions/CreateCompetitorOfficialContract' responses: '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '201': description: Created schema: $ref: '#/definitions/CompetitorContractResponseModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' '409': description: Conflict, see the response message or the 'geniussports-conflict-id' header to see the ID of the conflict! schema: $ref: '#/definitions/ErrorDuplicateModel' security: - Auth0: [] - api_key: [] /contracts/team/{teamId}/person/{personId}: delete: tags: - Contracts summary: Delete existing contract by team and person Ids produces: - application/json parameters: - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: teamId in: path required: true type: string - name: x-api-key in: header required: true type: string - name: personId in: path required: true type: string responses: '200': description: Success '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' security: - Auth0: [] - api_key: [] /contracts/team/{teamId}/player/{playerId}: delete: tags: - Contracts summary: Delete existing contract by team and player Ids produces: - application/json parameters: - name: gs-fixtures-api-sub-source in: header description: Sub Source Name required: false type: string - name: playerId in: path required: true type: string - name: teamId in: path required: true type: string - name: x-api-key in: header required: true type: string responses: '200': description: Success '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' security: - Auth0: [] - api_key: [] /contracts/{id}: delete: tags: - Contracts summary: Delete existing contract by id 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 - name: id in: path required: true type: string responses: '200': description: Success '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '202': description: Accepted schema: $ref: '#/definitions/AcceptedModel' '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' security: - Auth0: [] - api_key: [] /fixtures/{id}/contracts: get: tags: - Contracts summary: Retrieve a snapshot of the contracts that were active for the competitors which were part of the fixture when the fixture took place. description: Returns the competitor, the person and the corresponding player produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: The field to 'order by' by. Descending ordering also allowed. required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: The field to 'filter' by. Check main description for filter comparators. required: false type: string - name: id in: path description: Single fixture ID to return officials for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ContractResponseModelHATEOASReponseModel' 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: [] /persons/{id}/contracts: get: tags: - Contracts summary: Retrieve teams/doubles partnerships/players/etc in which the person takes (as coach, player in team, owner etc.) part by Person ID/s. MAX 200 per page. description: Returns the teams/doubles partnership/players/etc in which the person takes part by GSS Person Id in the path, wrapped inside a HATEOAS model produces: - application/json parameters: - name: page in: query description: The number of page to be returned. The default value is 1. required: false type: string - name: pageSize in: query description: The size of the page to be returned. The default value is 10. required: false type: string - name: sortBy in: query description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (competitortoname, competitortoid, competitortocompetitortype, createdon, modifiedon, updatedcount, from, to)' required: false type: string - name: x-api-key in: header required: true type: string - name: filter in: query description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (competitortoname, competitortoid, competitortocompetitortype, createdon, modifiedon, updatedcount, from, to, isactive (default = true))' required: false type: string - name: id in: path description: Single person ID to return details for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/PersonContractResponseModelHATEOASReponseModel' headers: Access-Control-Allow-Origin: type: string '520': description: Unknown error schema: $ref: '#/definitions/ErrorModel' '400': description: Bad request schema: $ref: '#/definitions/BadRequestModel' '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: [] definitions: UpdateContract: type: object required: - id - isActive properties: id: type: integer format: int64 description: The id of the contract which will be updated. title: Id isActive: type: boolean description: Whether the contract is active or not. When lineups are added this will define whether the person can be part of the lineup. title: Is Active startDate: type: string format: date-time description: When the contract was activated. endDate: type: string format: date-time description: When the contract was deactivated. metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/contract/metadata items: $ref: '#/definitions/JsonbModelViewModel' Error: type: object required: - domain - message - reason properties: reason: type: string domain: type: string locationType: type: string location: type: string message: type: string CreatePersonViewModel: type: object required: - firstName - genderType - lastName - localityId - useNickname properties: firstName: type: string description: The first name of the person title: First Name maxLength: 256 lastName: type: string description: The last name of the person title: Last Name maxLength: 256 nickName: type: string description: The nickname of the person title: Nickname maxLength: 128 useNickname: type: boolean description: Whether the nickname should be used instead of the name of the person when displaying the person. If the useNickname property is set to true nickname is required! title: Is active localityId: type: integer format: int64 description: Id of the country,virtual place, etc. of the person! title: Locality Id dateOfBirth: type: string format: date-time description: The date of birth of the person title: Date of birth genderType: $ref: '#/definitions/PersonGenderType' sports: type: array description: Array of sport Ids to be added to the person. title: Sports items: type: integer description: Sports to which the person belongs to. title: Sports CompetitorHALEmbededResponse: type: object required: - competitorType - id - name - ref properties: id: type: integer format: int64 name: type: string externalIds: $ref: '#/definitions/ExternalIdsViewModel' competitorType: type: string description: Team, Player, Horse, Jockey, HorseOwner, Dog, Breeder, DoublesPartnership, Other, TBD ref: type: string PersonContractResponseModel: type: object required: - competitor - createdOn - id - isActive - personRole - sport - updatesCount properties: id: type: integer format: int64 createdOn: type: string format: date-time modifiedOn: type: string format: date-time updatesCount: type: integer format: int32 competitor: $ref: '#/definitions/CompetitorHALEmbededResponse' sport: $ref: '#/definitions/HALEmbededResponse' personRole: type: string isActive: type: boolean description: Whether the relation between the person and the competitor is active title: Is Active startDate: type: string format: date-time endDate: type: string format: date-time Empty: type: object CompetitorContractResponseModelHATEOASReponseModel: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 totalItems: type: integer format: int64 items: type: array items: $ref: '#/definitions/CompetitorContractResponseModel' self: type: string previous: type: string next: type: string first: type: string last: type: string CompetitorContractResponseModel: type: object required: - createdOn - id - isActive - person - personRole - sport - updatesCount properties: id: type: integer format: int64 createdOn: type: string format: date-time modifiedOn: type: string format: date-time updatesCount: type: integer format: int32 person: $ref: '#/definitions/PersonHALEmbededResponse' sport: $ref: '#/definitions/HALEmbededResponse' player: $ref: '#/definitions/HALEmbededResponse' personRole: type: string isActive: type: boolean description: Whether the relation between the person and the competitor is active title: Is Active startDate: type: string format: date-time endDate: type: string format: date-time metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/contract/metadata items: $ref: '#/definitions/JsonbModel' externalIds: $ref: '#/definitions/ExternalIdsViewModel' BadRequestModel: type: object properties: messages: type: array items: type: string PersonContractResponseModelHATEOASReponseModel: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 totalItems: type: integer format: int64 items: type: array items: $ref: '#/definitions/PersonContractResponseModel' self: type: string previous: type: string next: type: string first: type: string last: type: string ExternalIdsViewModel: type: object properties: optaId: type: string optaLegacyId: type: string fibaId: type: string vesselId: type: string statsEngineId: type: string description: External system identifiers. Key represents the external system name (e.g., 'optaId', 'optaLegacyId', 'fibaId', 'vesselId','statsEngineId'), value represents the identifier. The property also allows filtering by specific external system identifiers. For example '?filter=externalIds.optaId[equals]:12345' to filter entities with a specific Opta ID. ErrorModel: type: object properties: code: type: integer format: int32 message: type: string error: $ref: '#/definitions/Error' PersonGenderType: type: integer title: Gender Type format: int32 description: 'This property defines the possible person gender types which can be set as integer values. Each integer value is associated with relevant gender type as follows: 0 - Undefined; 1 - Male; 2 - Female;' enum: - '0' - '1' - '2' AcceptedModel: type: object properties: messages: type: array items: type: string PersonHALEmbededResponse: type: object required: - firstName - fullName - genderType - id - lastName - locality - ref properties: id: type: integer format: int64 dateOfBirth: type: string format: date-time firstName: type: string lastName: type: string fullName: type: string nickName: type: string genderType: type: string externalIds: $ref: '#/definitions/ExternalIdsViewModel' locality: $ref: '#/definitions/HALEmbededResponse' ref: type: string ContractResponseModel: type: object required: - competitor - createdOn - id - isActive - person - personRole - player - sport - updatesCount properties: id: type: integer format: int64 createdOn: type: string format: date-time modifiedOn: type: string format: date-time updatesCount: type: integer format: int32 person: $ref: '#/definitions/PersonHALEmbededResponse' sport: $ref: '#/definitions/HALEmbededResponse' player: $ref: '#/definitions/HALEmbededResponse' competitor: $ref: '#/definitions/CompetitorHALEmbededResponse' personRole: type: string isActive: type: boolean description: Whether the relation between the person and the competitor is active title: Is Active startDate: type: string format: date-time endDate: type: string format: date-time metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/contract/metadata items: $ref: '#/definitions/JsonbModel' externalIds: $ref: '#/definitions/ExternalIdsViewModel' ContractResponseModelHATEOASReponseModel: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 totalItems: type: integer format: int64 items: type: array items: $ref: '#/definitions/ContractResponseModel' self: type: string previous: type: string next: type: string first: type: string last: type: string CreateCompetitorOfficialContract: type: object required: - competitorId - personRole properties: metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/contract/metadata items: $ref: '#/definitions/JsonbModelViewModel' personId: type: integer format: int64 minimum: 1.0 person: description: Person information if not been created early, if the person already exists - leave empty. $ref: '#/definitions/CreatePersonViewModel' isActive: type: boolean description: Whether the contract is active or not. When lineups are added this will define whether the person can be part of the lineup. title: Is Active competitorId: type: integer format: int64 minimum: 1.0 personRole: $ref: '#/definitions/CompetitorPersonRoleType' startDate: type: string format: date-time description: When the contract was activated. endDate: type: string format: date-time description: When the contract was deactivated. HALEmbededResponse: type: object required: - id - name - ref properties: id: type: integer format: int64 name: type: string externalIds: $ref: '#/definitions/ExternalIdsViewModel' ref: type: string JsonbModelViewModel: type: object required: - name properties: name: type: string description: Name of the property. title: Property name value: type: string description: Value of the property. title: Property value title: Create/Update Property Model description: This model should be used to create or update single property value for specific property name for specific model. CreateContract: type: object required: - competitorId - personId - personRole properties: metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/contract/metadata items: $ref: '#/definitions/JsonbModelViewModel' personId: type: integer format: int64 minimum: 1.0 isActive: type: boolean description: Whether the contract is active or not. When lineups are added this will define whether the person can be part of the lineup. title: Is Active competitorId: type: integer format: int64 minimum: 1.0 personRole: $ref: '#/definitions/CompetitorPersonRoleType' startDate: type: string format: date-time description: When the contract was activated. endDate: type: string format: date-time description: When the contract was deactivated. ErrorDuplicateModel: type: object properties: messages: type: array items: type: string geniusSportsConflictId: type: string description: This is the official genius sports ID, which you have conflict with. JsonbModel: type: object properties: name: type: string value: type: string isDeleted: type: boolean CompetitorPersonRoleType: type: integer format: int32 description: 0 - Owned By (e.g. Competitor Horse owned by Person, Competitor Team owned by Person); 1 - PlaysFor (e.g. Person plays for Competitor Team); 3 - Trained By (e.g. Competitor is trained by Person); 5 - RiddenBy (e.g. Competitor Horse is ridden by Person (the person is the jockey); 6 - BredBy (e.g. Competitor Horse is bred by Person)) enum: - '0' - '1' - '3' - '5' - '6' 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