Create schedule
Create a schedule. Pass teamId in the body (not the path).
WARNING: Send at least one of teamTwoId or teamTwoName (400 if both are omitted). When only teamTwoId is sent, we set teamTwoName from that team’s name.
WARNING: If you do not provide a value for a format field, we set a default on our side (eventType=game, duration=30, matchupFormat=halves, teamFormat=7v7, booleans=false, overtimeType=unlimited, endDate=startDate+duration). You must still send teamId and startDate. If you send a value, we use yours. PATCH does not apply these create defaults.
teamId in the body (not the path). The team must belong to the API key organization.
You must send: teamId, startDate, and at least one of teamTwoName or teamTwoId.
Other body fields you may send: teamTwoId, teamTwoName, eventType, endDate, duration, matchupFormat, teamFormat, isTestGame, isScrimmage, enableYardage, allowZeroYardStart, fieldSizeInYard, overtimeType, overtimeDuration, locationName, placeId, location, practiceNote.
Do not send startTime, endTime, or isRecurring — those are UI-only and are not accepted by this API.
Minimal example (guest opponent name)
Minimal example (linked opponent team)
Full payload (same values we set as defaults)
Sending this body is equivalent to the minimal example above — these are the format values we fill on our side when you omit them:fieldSizeInYard is only set when enableYardage is true (then we default to 50 if you omit it). overtimeDuration is only needed when overtimeType is limited. Location fields (locationName, placeId, location) and practiceNote stay unset unless you send them.Authorizations
Public integration API key (bb_live_...). Not a login JWT.
Body
WARNING: You must send at least one of teamTwoId or teamTwoName (400 if both are omitted). When only teamTwoId is sent, we set teamTwoName from that team's name. WARNING: If you do not provide a value for a format field on create, we set a default on our side (eventType=game, duration=30, matchupFormat=halves, teamFormat=7v7, booleans false, overtimeType=unlimited, endDate=startDate+duration). You must still send teamId and startDate. If you send a value, we use yours.
Team that owns this schedule. You must send this.
"6917707a0e8f6ee5171235c2"
When the event starts. You must send this.
"2026-09-26T22:00:00.000Z"
Optional on its own, but you must send teamTwoId and/or teamTwoName. Opponent team Mongo id in the same API key organization. When only teamTwoId is sent, we set teamTwoName from that team's name.
"6917707a0e8f6ee5171235c3"
Optional on its own, but you must send teamTwoId and/or teamTwoName. Opponent display name for a guest / external opponent.
"Long Island University"
If you do not provide this field, we set startDate + duration minutes on our side.
"2026-09-26T22:30:00.000Z"
If you do not provide this field, we set game on our side.
game, practice "game"
If you do not provide this field, we set 30 on our side.
20, 24, 30, 40, 48, 50, 60 30
If you do not provide this field, we set halves on our side.
halves, quarters, runningClock "halves"
If you do not provide this field, we set 7v7 on our side.
4v4, 5v5, 6v6, 7v7, 8v8, 9v9, 11v11 "7v7"
If you do not provide this field, we set false on our side.
false
Send when enableYardage is true. If enableYardage is true and you do not provide this field, we set 50 on our side.
30, 40, 45, 50, 60, 64, 70, 80, 100 50
If you do not provide this field, we set false on our side.
false
If you do not provide this field, we set false on our side.
false
If you do not provide this field, we set false on our side.
false
If you do not provide this field, we set unlimited on our side.
limited, unlimited "unlimited"
Send when overtimeType is limited (minutes). We do not invent a limited overtime length.
x >= 15
Response
Schedule created
The response is of type object.
