Genius Sports Probabilistic matching API

The results from the this kind of matching are always probabilistic. However we consider matches that have above 90% match score as viable results.

Operations 36

GET /competition-matches Retrieve competition matches by the provided parameters
POST /competition-matches Retrieve competition matches by the provided parameters, and create a map uppon successful matching.
GET /competition-matches/maps Retrieve entity maps by source name and source entity id
GET /competitors/doubles-matches Retrieve double partnerships matches by the provided parameters.
POST /competitors/doubles-matches Retrieve fixture level players matches by the provided parameters, and create a map uppon successful matching.
GET /competitors/doubles-matches/maps Retrieve entity maps by source name and source entity id
GET /competitors/player-matches Retrieve fixture level player matches by the provided parameters.
POST /competitors/player-matches Retrieve fixture level players matches by the provided parameters, and create a map uppon successful matching.
GET /competitors/player-matches/maps Retrieve entity maps by source name and source entity id
GET /competitors/team-matches Retrieve teams matches by the provided parameters.
POST /competitors/team-matches Retrieve team matches by the provided parameters, and create a map uppon successful matching.
GET /competitors/team-matches/maps Retrieve entity maps by source name and source entity id
GET /fixture-matches Retrieve a fixture, within a configurable sport or competition day range
POST /fixture-matches Retrieve a fixture, best matching to your fixture.
GET /fixture-matches/maps Retrieve entity maps by source name and source entity id
GET /locality-matches Retrieve locality matches by the provided parameters
POST /locality-matches Retrieve locality matches by the provided parameters, and create a map uppon successful matching.
GET /locality-matches/maps Retrieve entity maps by source name and source entity id
GET /organization-matches Retrieve a organization
POST /organization-matches Retrieve a organization, best matching to your organization.
GET /organization-matches/maps Retrieve entity maps by source name and source entity id
GET /person-matches Retrieve a person, that can be used in a team squad, as a refferee, coach, etc. The person itself cannot be used in a fixture as a top level competitor. For that use a Player
POST /person-matches Retrieve a person, that can be used in a team squad, as a refferee, coach, etc., and create a map uppon successful matching.
GET /person-matches/maps Retrieve entity maps by source name and source entity id
GET /round-matches Retrieve round matches by the provided parameters
POST /round-matches Retrieve round matches by the provided parameters, and create a map uppon successful matching.
GET /round-matches/maps Retrieve entity maps by source name and source entity id
GET /season-matches Retrieve season matches by the provided parameters
POST /season-matches Retrieve season matches by the provided parameters, and create a map uppon successful matching.
GET /season-matches/maps Retrieve entity maps by source name and source entity id
GET /sport-matches Retrieve sport matches by the provided parameters
POST /sport-matches Retrieve sport matches by the provided parameters, and create a map uppon successful matching.
GET /sport-matches/maps Retrieve entity maps by source name and source entity id
GET /venue-matches Retrieve a venue
POST /venue-matches Retrieve a venue, best matching to your venue.
GET /venue-matches/maps Retrieve entity maps by source name and source entity id

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/genius-sports-probabilistic-matching-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

genius-sports-probabilistic-matching-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '<br><p><h3>Motivation</h3><br> The purpose of this API is to request matching betweenexternal sources data and the best genius sports representation. <br>Using the POST client can cache the matchingresult for specific time range, by making a mapping from client entity id togenius sports Id.<br></p><h3>Glossary</h3><br><p><b>Match</b>- the probabilistic result of the comparison of the clients input    to Genius Sports data</p><p><b>Map</b>- the link between an already matched result represented by the    clients entity Id and the Genius Sports Id, in the context of a specific    data provider. e.g for data Provider ''NFL'' we the client Id XYZ mapped to    123 </p><p><b>Competitor</b> - a team, player, double partnership or any other entity    that can participate in a fixture as top level competitore e.g Barcelena -    RealMadrid, Nadal - Federer etc. What is not a competitor is for example:    Leo Messi - he cannot participate in a fixture as a top level competitor,    but only as a part of a team.</p><h3>How does the security work?</h3><p>To access the API each request must provide two headers:</p><ul>    <li><code>Authorization</code> header with an OAuth2<br> JSON web token        (Bearer) issued by Auth0.</li>    <li> <code>x-api-key</code><br> with an API key secret of a key, registered        with the API gateway in AWS. <br> </li></ul><h3>How do I get a valid JW token for the <code>Authorization</code> header?</h3><p> As an API client, I must be provided with Auth0 Client credentials    (<code>client_ID</code> and <code>Client_secret</code>) by Genius    Sports (FA team) and obtain a valid token from the Auth0 token<br> endpoint    using the Machine-to-Machine (client credentials) flow. I must obtain a    new token whenever needed (based on the token expiration).</p><p> <br> Make a <code>POST</code> request to the token endpoint: <span        https://{env or nothing for prod}.auth.geniussports.com/oauth/token        </span> with the following        payload:</p><br><pre><br>    {<br>    <span>''client_id'': ''<code>YOUR_AUTH0_CLIENT_ID</code>''</span>,  <br>    <span>''client_secret'': ''<code>YOUR_AUTH0_CLIENT_SECRET</code>''</span>,     <br>    <span>''audience'': ''https://api.geniussports.com''</span>,        <br>    <span>''grant_type'' : ''client_credentials''</span>    <br>    }<br></pre><br><p>You will receive a new token in the response <code> access_token </code>    field.</p><br><p>Curl example:</p><br><code> curl -X ''POST'' https://{env or nothing for prod}.auth.geniussports.com/oauth/token <br>-H ''Content-Type: application / json''<br>-d ''{''client_id'':''YOUR_AUTH0_CLIENT_ID'', ''client_secret'':''YOUR_AUTH0_CLIENT_SECRET'', ''audience'':''https://api.geniussports.com'',<br>        ''grant_type'':''client_credentials''}''</code><br>'
  version: 2.0.106
  title: fixtures-matching-v2 Probabilistic matching API
servers:
- url: https://matching.api.geniussports.com/v2
tags:
- name: Probabilistic matching
  description: The results from the this kind of matching are always probabilistic. However we consider matches that have above 90% match score as viable results.
paths:
  /competition-matches:
    get:
      tags:
      - Probabilistic matching
      summary: Retrieve competition matches by the provided parameters
      parameters:
      - name: organization
        in: query
        description: The name or Genius Sports Id of a organization.
        required: false
        schema:
          type: string
      - name: gender
        in: query
        description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
        required: false
        schema:
          type: string
      - name: pageSize
        in: query
        description: Number of items per page
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: name
        in: query
        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.
        required: true
        schema:
          type: string
      - name: minCertainty
        in: query
        description: The client can set the minimal % of the match certainty. Default is 70%.
        required: false
        schema:
          type: string
      - name: dataSourceEntityId
        in: query
        description: The ID of the team on the data source' side.
        required: false
        schema:
          type: string
      - name: ageCategory
        in: query
        description: 'One of: Senior, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27.'
        required: false
        schema:
          type: string
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      - name: pageNumber
        in: query
        description: The default is the first page. However next pages can be requested if available.
        required: false
        schema:
          type: string
      - name: sport
        in: query
        description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
        required: false
        schema:
          type: string
      - name: locality
        in: query
        description: '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'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/competitionMatchHATEOASResultModel'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
    post:
      tags:
      - Probabilistic matching
      summary: Retrieve competition matches by the provided parameters, and create a map uppon successful matching.
      parameters:
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/matchResultSubsribableModel'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '202':
          description: 202 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/failedMatchResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/competitionMatchRequest'
        description: Contains all the fields the client can match by, as well as configurations about the match.
        required: true
  /competition-matches/maps:
    get:
      tags:
      - Probabilistic matching
      summary: Retrieve entity maps by source name and source entity id
      parameters:
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: source
        in: query
        required: true
        schema:
          type: string
      - name: sourceEntityId
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfentityMapResponse'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
  /competitors/doubles-matches:
    get:
      tags:
      - Probabilistic matching
      summary: Retrieve double partnerships matches by the provided parameters.
      description: 'Full list of sports using double partnerships for fixture level competitors: Badminton,Beach Volleyball,Bobsleigh,Canoeing/Kayaking,Darts,Diving,Figure Skating,Golf,Luge,Olympics,Pickleball,Pickleball,Pool,Rowing,Sailing,Snooker,Squash,Table Tennis,Tennis,Ten Pin Bowling,Winter Olympics'
      parameters:
      - name: name
        in: query
        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.
        required: true
        schema:
          type: string
      - name: competition
        in: query
        description: The name or Genius Sports Id of a competition, that this double partnership participated in.
        required: false
        schema:
          type: string
      - name: dataSourceEntityId
        in: query
        description: The ID of the team on the data source' side.
        required: false
        schema:
          type: string
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      - name: pageNumber
        in: query
        description: The default is the first page. However next pages can be requested if available.
        required: false
        schema:
          type: string
      - name: organization
        in: query
        description: The name or Genius Sports Id of a organization.
        required: false
        schema:
          type: string
      - name: gender
        in: query
        description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
        required: false
        schema:
          type: string
      - name: pageSize
        in: query
        description: Number of items per page
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: minCertainty
        in: query
        description: The client can set the minimal % of the match certainty. Default is 70%.
        required: false
        schema:
          type: string
      - name: person
        in: query
        description: The name or Genius Sports Id of a person, that participates in this double partnership.
        required: false
        schema:
          type: string
      - name: sport
        in: query
        description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
        required: false
        schema:
          type: string
      - name: locality
        in: query
        description: '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'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/doublesMatchHATEOASResultModel'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
    post:
      tags:
      - Probabilistic matching
      summary: Retrieve fixture level players matches by the provided parameters, and create a map uppon successful matching.
      description: 'Full list of sports using double partnerships for fixture level competitors: Badminton,Beach Volleyball,Bobsleigh,Canoeing/Kayaking,Darts,Diving,Figure Skating,Golf,Luge,Olympics,Pickleball,Pickleball,Pool,Rowing,Sailing,Snooker,Squash,Table Tennis,Tennis,Ten Pin Bowling,Winter Olympics'
      parameters:
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/matchResultSubsribableModel'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '202':
          description: 202 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/failedMatchResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/doublesMatchRequest'
        description: Contains all the fields the client can match by, as well as configurations about the match.
        required: true
  /competitors/doubles-matches/maps:
    get:
      tags:
      - Probabilistic matching
      summary: Retrieve entity maps by source name and source entity id
      parameters:
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: source
        in: query
        required: true
        schema:
          type: string
      - name: sourceEntityId
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfentityMapResponse'
        '520':
          description: Unknown error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '413':
          description: Payload Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
      security:
      - Auth0: []
      - api_key: []
  /competitors/player-matches:
    get:
      tags:
      - Probabilistic matching
      summary: Retrieve fixture level player matches by the provided parameters.
      description: 'Full list of sports using players for fixture level competitors: Alpine Skiing,Archery,Athletics,Badminton,Biathlon,Bobsleigh,Bowls,Boxing,Canoeing/Kayaking,Chess,Competitive Eating,Cross Country,Cycling,Darts,Diving,Fencing,Figure Skating,Fishing,Freestyle Skiing,Golf,Gymnastics,Judo,Luge,Martial Arts/UFC,Modern Pentathlon,Motor Sport,Nordic Combined Skiing,Olympics,Pickleball,Poker,Politics,Pool,Rowing,Sailing,Shooting,Short Track Speed Skating,Skeleton,Ski Jumping,Snooker,Snowboarding,Speed Skating,Squash,Surfing,Swimming,Table Tennis,Taekwondo,Ten Pin Bowling,Tennis,Triathlon,Virtual Archery,Virtual Badminton,Virtual Basketball,Virtual Chariot Racing,Virtual Cricket,Virtual Cycling,Virtual Football,Virtual Golf,Virtual Greyhound Racing,Virtual Horse Racing,Virtual Ice Hockey,Virtual Motor Racing,Virtual Speed Skating,Virtual Table Tennis,Virtual Tennis,Weightlifting,Winter Olympics,Winter Sports,Wrestling,Yachting,eSports'
      parameters:
      - name: shirtNumber
        in: query
        description: Shirt number of the player if the player is part of a team.
        required: false
        schema:
          type: string
      - name: name
        in: query
        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.
        required: true
        schema:
          type: string
      - name: competition
        in: query
        description: The name or Genius Sports Id of a competition, that this player participated in.
        required: false
        schema:
          type: string
      - name: dataSourceEntityId
        in: query
        description: The ID of the team on the data source' side.
        required: false
        schema:
          type: string
      - name: gs-fixtures-api-sub-source
        in: header
        description: Sub Source Name
        required: false
        schema:
          type: string
      - name: pageNumber
        in: query
        description: The default is the first page. However next pages can be requested if available.
        required: false
        schema:
          type: string
      - name: organization
        in: query
        description: The name or Genius Sports Id of a organization.
        required: false
        schema:
          type: string
      - name: gender
        in: query
        description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
        required: false
        schema:
          type: string
      - name: team
        in: query
        description: Name of any team the player was part of.
        required: false
        schema:
          type: string
      - name: pageSize
        in: query
        description: Number of items per page
        required: false
        schema:
          type: string
      - name: position
        in: query
        description: Position of the player if the player is part of a team.
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: minCertainty
        in: query
        description: The client can set the minimal % of the match certainty. Default is 70%.
        required: false
        schema:
          type: string
      - name: birthDate
        in: query
        description: The birth date of the searched player in format - full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21
        required: false
        schema:
          type: string
      - name: sport
        in: query
        description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
        required: false
        schema:
          type: string
      - name: locality
        in: query
        description: '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

# --- truncated at 32 KB (185 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/genius-sports/refs/heads/main/openapi/genius-sports-probabilistic-matching-api-openapi.yml