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

# List benchmarks

> Returns published benchmarks (competitions). This is the platform's own public listing action, no authentication required.



## OpenAPI

````yaml GET /api/competitions/public/
openapi: 3.0.3
info:
  title: BenchGen Platform API
  version: 1.0.0
  description: >-
    One API for the whole BenchGen platform: model catalogue and serving,
    fine-tuning and benchmarks, datasets (knowledge), and billing.


    ## Authentication

    Every request uses the same credential: a platform API token sent as
    `Authorization: Bearer bgn_...`.

    Create tokens in the web app under Profile Settings > Platform API tokens
    (the secret is shown exactly once), or via `POST /api/tokens/` with an
    interactive session. Revoking a token disables it platform-wide within 60
    seconds.


    ## Scopes

    A token carries scopes chosen at creation; a request outside the token's
    scopes gets `403` with an explanatory message.


    | scope | grants |

    |---|---|

    | `models:read` | read model catalogues, job status, logs, GPU info |

    | `models:write` | deploy, train, merge, stop models and jobs |

    | `benchmark:read` | read benchmark runs and results |

    | `benchmark:run` | launch benchmark runs |

    | `benchmark:create` | create benchmarks in your account (drafts, Excel,
    bundles, specs); counts toward the creation limit |

    | `benchmark:manage` | edit and delete benchmarks you own or collaborate on
    |

    | `benchmark:publish` | publish and unpublish benchmarks you own or
    collaborate on |

    | `knowledge:read` | read your datasets and fine-tuning data |

    | `knowledge:write` | create, edit and delete datasets and fine-tuning data
    |

    | `billing:read` | read your balance and usage |

    | `agents:chat` | chat with your own agents through the API |

    | `agents:manage` | manage your agents, knowledge bases and channels |

    | `admin` | everything the account can do (staff accounts only) |


    ## For agents

    This document plus `/api/llms.txt` are the machine-readable entry points.
    Responses are JSON. Errors use conventional status codes; the body carries
    `error` or `message`. Knowledge endpoints return `[{"data": [...], "meta":
    {...}}]`.


    The complete auto-generated schema of every endpoint (including internal
    ones) lives at `/api/public-docs.json` (Swagger 2.0); this document is the
    curated, stable, supported surface.
  contact:
    url: https://benchgen.com
servers:
  - url: https://api.benchgen.com
security:
  - platformToken: []
tags:
  - name: auth
    description: Token introspection for services and integrations
  - name: tokens
    description: Manage your platform API tokens
  - name: models
    description: Model catalogue and serving
  - name: finetune
    description: Fine-tuning jobs, inference deployments, GPUs
  - name: knowledge
    description: Datasets and fine-tuning data (knowledge API)
  - name: billing
    description: Balance and usage
  - name: agents
    description: Chat with your agents (OpenAI-compatible facade)
  - name: benchmark
    description: Public benchmark (competition) listings.
paths:
  /api/competitions/public/:
    get:
      tags:
        - benchmark
      summary: List benchmarks
      description: >-
        Returns published benchmarks (competitions). This is the platform's own
        public listing action, no authentication required.
      parameters:
        - name: search
          in: query
          description: Filter by title, case-insensitive substring match.
          schema:
            type: string
        - name: ordering
          in: query
          description: Sort order. Defaults to `recent` when omitted or invalid.
          schema:
            type: string
            enum:
              - recent
              - popular
              - with_most_submissions
              - oldest
        - name: has_reward
          in: query
          description: When `true`, only include benchmarks with a non-empty reward field.
          schema:
            type: boolean
            default: false
        - name: participating_in
          in: query
          description: >-
            When `true`, only include benchmarks the caller is an approved
            participant in. Requires authentication, returns 401 for anonymous
            callers.
          schema:
            type: boolean
            default: false
        - name: organizing
          in: query
          description: >-
            When `true`, only include benchmarks the caller created or
            collaborates on. Requires authentication, returns 401 for anonymous
            callers.
          schema:
            type: boolean
            default: false
        - name: page
          in: query
          description: Page number, 1-indexed.
          schema:
            type: integer
            default: 1
        - name: page_size
          in: query
          description: Results per page.
          schema:
            type: integer
            default: 20
            maximum: 1000
      responses:
        '200':
          description: A page of published benchmarks.
          content:
            application/json:
              schema:
                type: object
                properties:
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  count:
                    type: integer
                  page_size:
                    type: integer
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Benchmark'
              example:
                next: >-
                  https://benchgen.com/benchgen-platform/api/competitions/public/?page=2
                previous: null
                count: 283
                page_size: 20
                results:
                  - id: 329
                    title: WMT25
                    slug: wmt25
                    created_by: platform
                    owner_display_name: platform
                    created_when: '2026-08-31T15:43:44.457868+03:00'
                    published: true
                    participants_count: 1
                    logo: null
                    logo_icon: null
                    description: >-
                      WMT's annual General Machine Translation shared task,
                      human-evaluation test sets, 12 translation directions.
                      Metric: XCOMET-XXL (0-100).
                    competition_type: competition
                    reward: ''
                    contact_email: ''
                    report: superadmin
                    organization_name: WMT
                    is_featured: false
                    display_order: 0
                    submissions_count: 3
                    has_files: false
        '401':
          description: >-
            Returned when `participating_in` or `organizing` is set without
            authentication.
          content:
            application/json:
              example:
                detail: >-
                  Authentication required for filtering by participating in or
                  organizing.
components:
  schemas:
    Benchmark:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        slug:
          type: string
        created_by:
          type: string
        owner_display_name:
          type: string
        created_when:
          type: string
          format: date-time
        published:
          type: boolean
        participants_count:
          type: integer
        logo:
          type: string
          format: uri
          nullable: true
        logo_icon:
          type: string
          nullable: true
        description:
          type: string
        competition_type:
          type: string
        reward:
          type: string
          nullable: true
        contact_email:
          type: string
          nullable: true
        report:
          type: string
          nullable: true
        organization_name:
          type: string
          nullable: true
        is_featured:
          type: boolean
        display_order:
          type: integer
        submissions_count:
          type: integer
        has_files:
          type: boolean
  securitySchemes:
    platformToken:
      type: http
      scheme: bearer
      bearerFormat: bgn_ opaque token
      description: >-
        Platform API token created under Profile Settings > Platform API tokens.
        Scopes are fixed at creation.

````