> ## 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.

# Update schedule

> Update a schedule by scheduleId. Pass teamId in the request body.

**WARNING:** If you do not send a field on PATCH, we leave the existing value unchanged. We do not apply create defaults.

You must send **`teamId`** in the body. For other fields, send only what you want to change.

<Warning>
  **Update does not fill create defaults.**

  If you do not send a field on `PATCH`, we **leave the existing value as it is**. We do **not** replace it with create defaults (`duration: 30`, `7v7`, and so on).

  If you send `enableYardage: true`, also send `fieldSizeInYard`.
  If you send `overtimeType: limited`, also send `overtimeDuration`.
</Warning>

Body fields you may send: `eventTitle`, `eventType`, `startDate`, `endDate`, `teamTwoName`, `duration`, `matchupFormat`, `teamFormat`, `practiceNote`, `isTestGame`, `fieldSizeInYard`, `enableYardage`, `isScrimmage`, `allowZeroYardStart`, `overtimeType`, `overtimeDuration`, `teamId`.

Do not send `startTime`, `endTime`, or `isRecurring` — UI-only, not accepted by this API.


## OpenAPI

````yaml openapi.json PATCH /v1/blitz-api/schedules/{scheduleId}
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/schedules/{scheduleId}:
    patch:
      tags:
        - Schedules
      summary: Update schedule
      description: >-
        Update a schedule by scheduleId. Pass teamId in the request body.


        **WARNING:** If you do not send a field on PATCH, we leave the existing
        value unchanged. We do not apply create defaults.
      operationId: updateSchedule
      parameters:
        - name: scheduleId
          in: path
          required: true
          description: Schedule document Mongo `_id` from create or list.
          schema:
            type: string
            example: 507f1f77bcf86cd799439012
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateScheduleRequest'
            examples:
              default:
                summary: Update schedule
                value:
                  eventTitle: anim iure nam tempor
                  eventType: game
                  startDate: '2026-09-17T21:00:00.000Z'
                  endDate: '2026-09-17T21:51:00.000Z'
                  teamTwoName: mona hurley
                  duration: 50
                  matchupFormat: quarters
                  teamFormat: 7v7
                  practiceNote: n,mn,mn
                  isTestGame: false
                  fieldSizeInYard: 60
                  enableYardage: true
                  isScrimmage: true
                  allowZeroYardStart: false
                  overtimeType: limited
                  overtimeDuration: 5
                  teamId: 6917707a0e8f6ee5171235c2
      responses:
        '200':
          description: Schedule updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleResponse'
              examples:
                success:
                  summary: Successful response
                  value:
                    _id: 66f0a1b2c3d4e5f678901456
                    eventType: game
                    eventTitle: Falcons vs Guest Team
                    startDate: '2026-10-01'
                    endDate: '2026-10-01'
                    teamOneId: 66f0a1b2c3d4e5f678901234
                    teamTwoName: Guest Team
                    createdAt: '2026-09-13T18:00:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    UpdateScheduleRequest:
      type: object
      required:
        - teamId
      properties:
        teamId:
          type: string
          description: Team that owns the schedule (required)
          example: 6917707a0e8f6ee5171235c2
        eventTitle:
          type: string
          example: anim iure nam tempor
        eventType:
          type: string
          enum:
            - game
            - practice
          example: game
        startDate:
          type: string
          format: date-time
          example: '2026-09-17T21:00:00.000Z'
        endDate:
          type: string
          format: date-time
          example: '2026-09-17T21:51:00.000Z'
        teamTwoName:
          type: string
          example: mona hurley
        duration:
          type: integer
          enum:
            - 20
            - 24
            - 30
            - 40
            - 48
            - 50
            - 60
          example: 50
        matchupFormat:
          type: string
          enum:
            - halves
            - quarters
            - runningClock
          example: quarters
        teamFormat:
          type: string
          enum:
            - 4v4
            - 5v5
            - 6v6
            - 7v7
            - 8v8
            - 9v9
            - 11v11
          example: 7v7
        practiceNote:
          type: string
          example: n,mn,mn
        isTestGame:
          type: boolean
          example: false
        fieldSizeInYard:
          type: integer
          enum:
            - 30
            - 40
            - 45
            - 50
            - 60
            - 64
            - 70
            - 80
            - 100
          example: 60
        enableYardage:
          type: boolean
          example: true
        isScrimmage:
          type: boolean
          example: true
        allowZeroYardStart:
          type: boolean
          example: false
        overtimeType:
          type: string
          enum:
            - limited
            - unlimited
          example: limited
        overtimeDuration:
          type: number
          minimum: 1
          example: 5
      example:
        eventTitle: anim iure nam tempor
        eventType: game
        startDate: '2026-09-17T21:00:00.000Z'
        endDate: '2026-09-17T21:51:00.000Z'
        teamTwoName: mona hurley
        duration: 50
        matchupFormat: quarters
        teamFormat: 7v7
        practiceNote: n,mn,mn
        isTestGame: false
        fieldSizeInYard: 60
        enableYardage: true
        isScrimmage: true
        allowZeroYardStart: false
        overtimeType: limited
        overtimeDuration: 5
        teamId: 6917707a0e8f6ee5171235c2
    ScheduleResponse:
      type: object
      additionalProperties: true
      example:
        _id: 66f0a1b2c3d4e5f678901456
        eventType: GAME
        eventTitle: Falcons vs Guest Team
        startDate: '2026-10-01'
        endDate: '2026-10-01'
        teamId: 66f0a1b2c3d4e5f678901234
        teamTwoName: Guest Team
        createdAt: '2026-09-13T18:00:00.000Z'
    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'
    NotFound:
      description: Resource not found
      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.

````