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 Competitors 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: Competitors paths: /competitors: 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: - Competitors get: tags: - Competitors summary: Retrieve competitors basic info regardless their type with reference to the detailed endpoint. MAX 200 per page. description: Retrieve competitors basic info regardless their type with reference to the detailed endpoint 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: (id, name, sportId, genderType, localityId, venueId, competitorStatusType)' 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: (id, name, sportId, genderType, localityId, venueId, competitorStatusType, competitorType)' required: false type: string responses: '200': description: successful operation schema: $ref: '#/definitions/GeneralCompetitorResponseModelHATEOASReponseModel' 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/doubles: 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: - Competitors /competitors/doubles/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/doubles/{id}/contracts: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/doubles/{id}/rounds: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/doubles/{id}/seasons: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/horses: 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: - Competitors /competitors/horses/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/players: 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: - Competitors /competitors/players/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/players/{id}/contracts: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/players/{id}/rounds: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/players/{id}/seasons: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/tbds: 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: - Competitors /competitors/tbds/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/teams: 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: - Competitors /competitors/teams/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/teams/{id}/contracts: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/teams/{id}/rounds: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/teams/{id}/seasons: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors /competitors/{id}: options: consumes: - application/json produces: - application/json parameters: - name: id 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: - Competitors get: tags: - Competitors summary: Retrieve competitors basic info regardless their type with reference to the detailed endpoint by ID. description: Retrieve competitors basic info regardless their type with reference to the detailed endpoint by ID. produces: - application/json parameters: - name: x-api-key in: header required: true type: string - name: id in: path description: Single competitors ID to return information for required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/GeneralCompetitorResponseModel' headers: Access-Control-Allow-Origin: type: string '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' '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: [] delete: tags: - Competitors summary: Delete existing existing competitor of any type - Team, Player, Double partnership etc 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: [] definitions: BadRequestModel: type: object properties: messages: type: array items: type: string Error: type: object required: - domain - message - reason properties: reason: type: string domain: type: string locationType: type: string location: type: string message: type: string GeneralCompetitorResponseModel: type: object required: - competitorStatusType - competitorType - createdOn - genderType - id - name - ref - 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 metadataProperties: type: array description: In order to retrieve allowed metadata properties with their values execute get request on this path - /sports/{id}/competitor/metadata items: $ref: '#/definitions/JsonbModel' name: type: string sport: $ref: '#/definitions/HALEmbededResponse' genderType: type: string description: Undefined, Male, Female, Mixed. locality: $ref: '#/definitions/HALEmbededResponse' competitorStatusType: type: string description: Active, Retired, Unattached venue: $ref: '#/definitions/HALEmbededResponse' competitorType: type: string description: Team, Player, Horse, Jockey, HorseOwner, Dog, Breeder, DoublesPartnership, Other, TBD externalIds: $ref: '#/definitions/ExternalIdsViewModel' ref: type: string description: Reference to the detailed response for the competitor JsonbModel: type: object properties: name: type: string value: type: string isDeleted: type: boolean GeneralCompetitorResponseModelHATEOASReponseModel: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 totalItems: type: integer format: int64 items: type: array items: $ref: '#/definitions/GeneralCompetitorResponseModel' self: type: string previous: type: string next: type: string first: type: string last: type: string Empty: type: object 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' HALEmbededResponse: type: object required: - id - name - ref properties: id: type: integer format: int64 name: type: string externalIds: $ref: '#/definitions/ExternalIdsViewModel' ref: type: string AcceptedModel: type: object properties: messages: type: array items: type: string 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