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

# Create team

> Create a team in the API key organization. Do not send organizationId in the body.

## `ageGroup` (required)

Choose one of these values in Try it (dropdown) or in your request body:

| Category    | Values                                                                                  |
| ----------- | --------------------------------------------------------------------------------------- |
| Youth       | `6u`, `7u`, `8u`, `9u`, `10u`, `11u`, `12u`, `13u`, `14u`, `15u`, `16u`, `17u`, `18u`   |
| High school | `jv`, `varsity`                                                                         |
| College     | `college_club`, `college_naia`, `college_ncaa_d3`, `college_ncaa_d2`, `college_ncaa_d1` |
| Other       | `14_elite`, `professional`, `adult_recreation`                                          |

Also required: `footballType` (`flag` or `tackle`). Optional: `gender` (`male`, `female`, `co_educational`, `other`).


## OpenAPI

````yaml openapi.json POST /v1/blitz-api/teams
openapi: 3.0.3
info:
  title: BlitzBoard Public API
  version: 1.0.0
  description: >-
    Organization-scoped public integration API for seasons, teams, players,
    schedules, and team player statistics.

    Authenticate with `Authorization: Bearer bb_live_...` (API key, not a login
    JWT).

    Generate keys from Organizations → organization detail at
    https://live.blitzboardstats.com/organizations.

    List seasons via GET /v1/blitz-api/seasons and pass `_id` as `season` when
    creating a team.
servers:
  - url: https://sandbox.blitzboardstats.com/api
    description: Sandbox
security:
  - ApiKeyBearer: []
tags:
  - name: Seasons
    description: List seasons to use when creating teams
  - name: Teams
    description: Team CRUD scoped to the API key organization
  - name: Players
    description: Players under a team
  - name: Schedules
    description: Schedule events under a team
paths:
  /v1/blitz-api/teams:
    post:
      tags:
        - Teams
      summary: Create team
      description: >-
        Create a team in the API key organization. Do not send organizationId in
        the body.
      operationId: createTeam
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTeamRequest'
            examples:
              default:
                summary: Request body
                value:
                  name: Falcons U14
                  footballType: flag
                  ageGroup: 14u
                  gender: male
      responses:
        '201':
          description: Team created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
              examples:
                success:
                  summary: Successful response
                  value:
                    data:
                      _id: 66f0a1b2c3d4e5f678901234
                      name: Falcons U14
                      footballType: flag
                      ageGroup: 14u
                      gender: male
                      isArchived: false
                      logoUrl: https://cdn.example.com/logos/falcons.png
                      organizationId: 66f0a1b2c3d4e5f678901111
                      createdAt: '2026-09-01T12:00:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    CreateTeamRequest:
      type: object
      required:
        - name
        - footballType
        - ageGroup
      properties:
        name:
          type: string
          example: Falcons U14
        footballType:
          $ref: '#/components/schemas/FootballType'
        ageGroup:
          $ref: '#/components/schemas/AgeGroup'
        gender:
          $ref: '#/components/schemas/TeamPlayersGender'
        season:
          type: string
          description: Season Mongo id from GET /v1/blitz-api/seasons
          example: 66f0a1b2c3d4e5f678901789
        logoUrl:
          type: string
          format: uri
        photoUrl:
          type: string
          format: uri
        city:
          type: string
      example:
        name: Falcons U14
        footballType: flag
        ageGroup: 14u
        gender: male
        season: 66f0a1b2c3d4e5f678901789
    TeamResponse:
      type: object
      additionalProperties: true
      example:
        data:
          _id: 66f0a1b2c3d4e5f678901234
          name: Falcons U14
          footballType: flag
          ageGroup: 14u
          gender: male
          isArchived: false
          logoUrl: https://cdn.example.com/logos/falcons.png
          organizationId: 66f0a1b2c3d4e5f678901111
          createdAt: '2026-09-01T12:00:00.000Z'
      properties:
        data:
          type: object
          additionalProperties: true
          example:
            _id: 66f0a1b2c3d4e5f678901234
            name: Falcons U14
            footballType: flag
            ageGroup: 14u
            gender: male
            isArchived: false
            logoUrl: https://cdn.example.com/logos/falcons.png
            organizationId: 66f0a1b2c3d4e5f678901111
            createdAt: '2026-09-01T12:00:00.000Z'
    FootballType:
      type: string
      description: Type of football
      enum:
        - flag
        - tackle
      example: flag
    AgeGroup:
      type: string
      description: Team age group
      enum:
        - 6u
        - 7u
        - 8u
        - 9u
        - 10u
        - 11u
        - 12u
        - 13u
        - 14u
        - 15u
        - 16u
        - 17u
        - 18u
        - jv
        - varsity
        - college_club
        - college_naia
        - college_ncaa_d3
        - college_ncaa_d2
        - college_ncaa_d1
        - 14_elite
        - professional
        - adult_recreation
      example: 14u
    TeamPlayersGender:
      type: string
      description: Team players gender
      enum:
        - male
        - female
        - co_educational
        - other
      example: male
    ErrorResponse:
      type: object
      properties:
        error:
          type: number
        message:
          type: string
        timestamp:
          type: string
          format: date-time
        traceId:
          type: string
      example:
        error: 40101
        message: Invalid API key
        timestamp: '2026-09-13T14:45:41.317Z'
        traceId: req_41f0e6c8a5ea232a
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Outside API key organization scope or insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Public integration API key (`bb_live_...`). Not a login JWT.

````