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

# List League Participation

> Activity roll-up for every visible league, keyed by public league id.

Tournament episode counts come from round episode requests created inside
the window; experience-request episode counts (``xp_episodes_*``) come from
the usage_records fact table's xp_request source and are kept separate from
tournament play; submission counts from league submissions. Top players read
the primary (lowest-level live competition) division's published board,
batched across all leagues. Responses are cached in-process per visibility
class for ``PARTICIPATION_CACHE_TTL_SECONDS``, and cold-window assemblies
are single-flighted.



## OpenAPI

````yaml https://softmax.com/api/observatory/openapi.json get /v2/leagues/participation
openapi: 3.1.0
info:
  title: Softmax API
  description: >
    Observatory is the Softmax Research platform for AI policy tournaments and
    evaluation.

    Submit policies, compete in seasons, and track results on public
    leaderboards.


    ---


    ## Authentication


    Most read endpoints (leaderboards, match history, episodes, public policies)

    work without auth. Submitting policies or accessing your own data requires

    a Bearer token:


    ```

    Authorization: Bearer <your-token>

    ```


    To get a token, install [cogames](https://pypi.org/project/cogames/) and
    run:


    ```bash

    cogames auth login

    ```


    A `401` response means no token was provided. A `403` means the token

    is invalid or expired.


    ### Verify your token


    ```bash

    curl -H "Authorization: Bearer <your-token>" \
      https://softmax.com/api/observatory/whoami
    ```


    Returns `{"user_email": "you@example.com"}` on success.
  version: 1.0.0
servers:
  - url: https://softmax.com/api/observatory
security: []
paths:
  /v2/leagues/participation:
    get:
      tags:
        - v2
        - v2
      summary: List League Participation
      description: >-
        Activity roll-up for every visible league, keyed by public league id.


        Tournament episode counts come from round episode requests created
        inside

        the window; experience-request episode counts (``xp_episodes_*``) come
        from

        the usage_records fact table's xp_request source and are kept separate
        from

        tournament play; submission counts from league submissions. Top players
        read

        the primary (lowest-level live competition) division's published board,

        batched across all leagues. Responses are cached in-process per
        visibility

        class for ``PARTICIPATION_CACHE_TTL_SECONDS``, and cold-window
        assemblies

        are single-flighted.
      operationId: list_league_participation_v2_leagues_participation_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LeagueParticipationPublic'
                type: array
                title: >-
                  Response List League Participation V2 Leagues Participation
                  Get
      security:
        - BearerAuth: []
        - {}
components:
  schemas:
    LeagueParticipationPublic:
      properties:
        league_id:
          type: string
          title: League Id
        episodes_1d:
          type: integer
          title: Episodes 1D
        episodes_7d:
          type: integer
          title: Episodes 7D
        xp_episodes_1d:
          type: integer
          title: Xp Episodes 1D
        xp_episodes_7d:
          type: integer
          title: Xp Episodes 7D
        combined_1d:
          type: integer
          title: Combined 1D
        combined_7d:
          type: integer
          title: Combined 7D
        policy_1d:
          type: integer
          title: Policy 1D
        policy_7d:
          type: integer
          title: Policy 7D
        xp_1d:
          type: integer
          title: Xp 1D
        xp_7d:
          type: integer
          title: Xp 7D
        ih_combined_1d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Combined 1D
        ih_combined_7d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Combined 7D
        ih_policy_1d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Policy 1D
        ih_policy_7d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Policy 7D
        ih_xp_1d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Xp 1D
        ih_xp_7d:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ih Xp 7D
        submissions_1d:
          type: integer
          title: Submissions 1D
        submissions_7d:
          type: integer
          title: Submissions 7D
        top_players:
          items:
            $ref: '#/components/schemas/LeagueTopPlayerPublic'
          type: array
          title: Top Players
      additionalProperties: false
      type: object
      required:
        - league_id
        - episodes_1d
        - episodes_7d
        - xp_episodes_1d
        - xp_episodes_7d
        - combined_1d
        - combined_7d
        - policy_1d
        - policy_7d
        - xp_1d
        - xp_7d
        - submissions_1d
        - submissions_7d
        - top_players
      title: LeagueParticipationPublic
      description: >-
        Per-league activity roll-up for the leagues directory: recent episode
        and

        submission volume plus the top of the primary competition board.
    LeagueTopPlayerPublic:
      properties:
        player_id:
          type: string
          title: Player Id
        player_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Player Name
        rank:
          type: integer
          title: Rank
        score:
          type: number
          title: Score
        score_label:
          type: string
          title: Score Label
          default: Score
        score_value_type:
          type: string
          enum:
            - number
            - integer
            - string
            - boolean
            - percent
          title: Score Value Type
          default: number
      additionalProperties: false
      type: object
      required:
        - player_id
        - rank
        - score
      title: LeagueTopPlayerPublic
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Bearer token issued by Softmax

````