> ## Documentation Index
> Fetch the complete documentation index at: https://padelapi.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Show Pair Synergy

> Retrieve whether a pair beats the sum of its parts: the win rate its two players
were expected to reach together from their Elo ratings, the one they actually
reached, and the gap between both, with its evolution by quarter.

> 🔒 This endpoint [requires a **Business** subscription](https://padelapi.org/billing).

Scoped to every match the pair has played together by default. Qualification
matches count, since the expectation already accounts for the level of the
opponents.
The [form and synergy guide](https://padelapi.org/docs/guides/padel-form-and-synergy)
explains how to read every field.



## OpenAPI

````yaml https://padelapi.org/docs/api.json get /pairs/{player1}-{player2}/synergy
openapi: 3.1.0
info:
  title: Padel API – API Reference
  version: '1.0'
  description: padelapi.org
servers:
  - url: https://padelapi.org/api
security:
  - http: []
paths:
  /pairs/{player1}-{player2}/synergy:
    get:
      tags:
        - Pair
      summary: Show Pair Synergy
      description: >-
        Retrieve whether a pair beats the sum of its parts: the win rate its two
        players

        were expected to reach together from their Elo ratings, the one they
        actually

        reached, and the gap between both, with its evolution by quarter.


        > 🔒 This endpoint [requires a **Business**
        subscription](https://padelapi.org/billing).


        Scoped to every match the pair has played together by default.
        Qualification

        matches count, since the expectation already accounts for the level of
        the

        opponents.

        The [form and synergy
        guide](https://padelapi.org/docs/guides/padel-form-and-synergy)

        explains how to read every field.
      operationId: getPairSynergy
      parameters:
        - name: player1
          in: path
          required: true
          description: The player1 ID
          schema:
            type: integer
        - name: player2
          in: path
          required: true
          description: The player2 ID
          schema:
            type: integer
        - name: after_date
          in: query
          description: Date after to measure the synergy in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: before_date
          in: query
          description: Date before to measure the synergy in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: level
          in: query
          description: >-
            Tournament level(s) to scope the synergy. Accepts one or multiple
            comma-separated values (e.g. `major,p1,p2` for all Premier Padel
            matches) or repeated parameters (e.g. `level[]=major&level[]=p1`).
          schema:
            type: string
        - name: round
          in: query
          description: >-
            Round of the match to measure the synergy (1 = Final, 2 = Semifinal,
            4 = Quarterfinal, 8 = Round of 16, 16 = Round of 32, 32 = Round of
            64)
          schema:
            type:
              - integer
              - 'null'
            enum:
              - '1'
              - '2'
              - '4'
              - '8'
              - '16'
              - '32'
      responses:
        '200':
          description: '`PairSynergyResource`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PairSynergyResource'
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    PairSynergyResource:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier of the pair, as the two player ids joined by a hyphen
            (e.g. `65-66`).
        self:
          type: string
          description: Path to this endpoint, relative to `https://padelapi.org`.
        expected_win_rate:
          type:
            - number
            - 'null'
          description: >-
            Win rate the pair was expected to reach together, as a percentage
            rounded to two decimals, from the Elo ratings of all four players at
            the time of each match. `null` when no matches are counted.
        actual_win_rate:
          type:
            - number
            - 'null'
          description: >-
            Win rate actually achieved together over the same matches, as a
            percentage rounded to two decimals. `null` when no matches are
            counted.
        delta:
          type:
            - number
            - 'null'
          description: >-
            `actual_win_rate` minus `expected_win_rate`, in percentage points.
            Positive means the pair beats the sum of its parts. `null` when
            there are too few matches for the gap to mean anything.
        matches_played:
          type: integer
          description: Matches together behind the numbers above, qualification included.
        by_period:
          type: array
          description: >-
            The same values by calendar quarter, oldest first, so a partnership
            can be seen settling in or wearing out. Quarters without matches
            together are left out.
          items:
            type: object
            properties:
              from:
                type: string
              to:
                type: string
              expected_win_rate:
                type:
                  - number
                  - 'null'
              actual_win_rate:
                type:
                  - number
                  - 'null'
              delta:
                type:
                  - number
                  - 'null'
              matches_played:
                type: integer
            required:
              - from
              - to
              - expected_win_rate
              - actual_win_rate
              - delta
              - matches_played
        trend:
          description: >-
            Direction of `delta` across `by_period`. `null` when too few periods
            have a `delta` to tell.
          anyOf:
            - type: 'null'
            - type: string
              enum:
                - rising
                - stable
                - declining
        connections:
          type: object
          description: Related endpoints for this synergy.
          properties:
            pair:
              type: string
              description: Profile of the pair this synergy belongs to.
          required:
            - pair
      required:
        - id
        - self
        - expected_win_rate
        - actual_win_rate
        - delta
        - matches_played
        - by_period
        - trend
        - connections
      title: PairSynergyResource
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.