RunSignup Teams API

Manage teams and groups for team-based race events.

OpenAPI Specification

runsignup-teams-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RunSignup Corrals Teams API
  description: The RunSignup REST API provides access to race and event management operations for the RunSignup platform. It enables race directors, timing companies, affiliates, and technology partners to integrate race registration, participant management, results posting, bib and chip assignment, division management, team management, fundraising, volunteer management, and user account management. The API covers 100+ endpoints across 29 categories. Authentication uses OAuth 2.0 (preferred) or permanent API keys for partners and timers. The base URL is https://runsignup.com/Rest and responses are available in JSON or XML format.
  version: '1.0'
  contact:
    name: RunSignup Support
    url: https://runsignup.com/support
  termsOfService: https://runsignup.com/terms
servers:
- url: https://runsignup.com/Rest
  description: RunSignup REST API
security:
- OAuth2: []
- apiKeyAuth: []
tags:
- name: Teams
  description: Manage teams and groups for team-based race events.
paths:
  /race/{race_id}/teams:
    get:
      operationId: getRaceTeams
      summary: Get Race Teams
      description: Returns teams and groups registered for a race event. Includes team names, members, and team scores where applicable.
      tags:
      - Teams
      parameters:
      - $ref: '#/components/parameters/RaceId'
      - name: event_id
        in: query
        schema:
          type: integer
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      responses:
        '200':
          description: Race teams
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addOrEditTeams
      summary: Add or Edit Race Teams
      description: Creates new teams or updates existing team records for a race.
      tags:
      - Teams
      parameters:
      - $ref: '#/components/parameters/RaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamsUpdateRequest'
      responses:
        '200':
          description: Teams updated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error code
        error_msg:
          type: string
          description: Human-readable error message
    TeamsUpdateRequest:
      type: object
      properties:
        teams:
          type: array
          items:
            $ref: '#/components/schemas/Team'
    Team:
      type: object
      properties:
        team_id:
          type: integer
        name:
          type: string
          description: Team name
        member_count:
          type: integer
        event_id:
          type: integer
        captain_user_id:
          type: integer
    TeamsResponse:
      type: object
      properties:
        teams:
          type: array
          items:
            $ref: '#/components/schemas/Team'
        total_results:
          type: integer
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized - invalid or missing authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    RaceId:
      name: race_id
      in: path
      required: true
      description: The unique ID of the race
      schema:
        type: integer
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication (preferred)
      flows:
        authorizationCode:
          authorizationUrl: https://runsignup.com/OAuth/Authorize
          tokenUrl: https://runsignup.com/OAuth/Token
          scopes:
            read: Read access to race and participant data
            write: Write access to race and participant data
    apiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: Permanent API key for affiliates, partners, and timers. Pass api_key and api_secret as query parameters.
externalDocs:
  description: RunSignup API Documentation
  url: https://runsignup.com/API