Registrations
A Registration defines the signup window, capacity, and payment settings for a league or tournament. Teams register through the public registration link.
Endpoint: /api/v1/registrations
Required scope: read:registrations (read) / write:registrations or admin (write)
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/registrations?league=:id | Recommended | List registrations for a league |
| GET | /api/v1/registrations/:id | Recommended | Get a single registration |
| POST | /api/v1/registrations | Required | Create a registration for a league |
| PUT | /api/v1/registrations/:id | Required | Update registration settings |
Allowed ?include= roots: contests, paymentProduct, tournament, contest, league, organization. A common combination: ?include=contests,paymentProduct,tournament,contest. See Query Parameter: ?include=.
Fields
| Field | Type | Default | Description |
|---|---|---|---|
_id | ObjectId | — | Unique identifier |
message | string | — | Custom message shown to registrants |
active | boolean | true | Whether registration is accepting submissions |
hidden | boolean | false | Hide from public listing |
startDate | date | now | Registration open date |
deadlineDate | date | now | Registration close date |
instruction | string | "" | Instructions displayed on the registration form |
contestType | string | "" | Contest type (Mens / Womens / Co-ed / Open) |
sports | string[] | [] | Sports for this registration |
requireDivision | boolean | — | Registrants must select a division |
requirePlayers | boolean | — | Teams must add players |
hasFreeAgents | boolean | — | Allow individual free agent signups |
hasBackupManager | boolean | — | Collect backup manager info |
hasPayments | boolean | — | Payments are required |
allowCoaches | boolean | — | Allow coaches to be added |
hasPreamble | boolean | — | Show a preamble step |
preamble | string | "" | Preamble text |
requireReleaseStatement | boolean | — | Require team waiver agreement |
releaseStatement | string | — | Team waiver text |
requireThankYouMessage | boolean | false | Show thank you message on completion |
thankYouMessage | string | "" | Thank you message text |
completed | boolean | — | Whether registration setup is complete |
currentStep | number | 1 | Current setup wizard step |
cost | CostSchema | — | Fee structure |
settings | RegistrationSettingsSchema | — | Advanced settings |
teamFields | RegistrationField[] | [] | Custom fields for teams |
managerFields | RegistrationField[] | [] | Custom fields for managers |
fields | RegistrationField[] | [] | General custom fields |
sections | Section[] | [] | Section groupings |
playerWaivers | PlayerWaiver[] | [] | Player waiver requirements |
organization | ObjectId | — | Owning organization |
tournament | ObjectId | — | Parent tournament (ref: Tournament) |
league | ObjectId | — | Parent league (ref: League) |
paymentProduct | ObjectId | — | Payment product (ref: PaymentProduct) |
donationProduct | ObjectId | — | Donation product (ref: PaymentProduct) |
contest | ObjectId | — | League ref alias |
contests | string[] | [] | Multiple league refs |
CostSchema
| Field | Type | Description |
|---|---|---|
amount | number | Fee amount in cents |
perPlayer | boolean | Charge per player |
perTeam | boolean | Charge per team |
RegistrationSettingsSchema
| Field | Type | Description |
|---|---|---|
numDaysToRemindTeam | number | Days before deadline to send reminder |
emailReminderTeam | boolean | Send email reminders |
rosterLockDate | date | Date after which rosters are locked |
rosterLock | boolean | Whether roster is locked |
hurryFinishTeamRegistration.enabled | boolean | Urgency mode enabled |
hurryFinishTeamRegistration.numDaysAgo | number | Days before deadline to trigger urgency |
RegistrationFieldSchema
Custom fields for collecting additional info from teams and players:
| Field | Type | Description |
|---|---|---|
name | string | Field label |
fieldId | string | Unique field identifier |
required | boolean | Whether field is required |
helperText | string | Helper text shown under the field |
order | number | Display order |
primitiveType | string | Data type (text, number, boolean, etc.) |
fieldType | string | UI control type (input, select, checkbox, etc.) |
permanent | boolean | Cannot be removed once set |
include | boolean | Whether field is included in the form |
options | string[] | Options for select/radio fields |
Create a Registration
curl -X POST https://api.staty.io/api/v1/registrations \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"league": "league_abc123",
"startDate": "2026-03-01",
"deadlineDate": "2026-03-28",
"active": true,
"requirePlayers": true,
"cost": {
"amount": 15000,
"perTeam": true
}
}'Response:
{
"success": true,
"data": {
"_id": "reg_ghi789",
"league": "league_abc123",
"startDate": "2026-03-01T00:00:00.000Z",
"deadlineDate": "2026-03-28T00:00:00.000Z",
"active": true,
"requirePlayers": true,
"cost": { "amount": 15000, "perTeam": true },
"created": "2026-03-15T10:00:00.000Z"
}
}Last updated on