v1

Brackets

Read brackets and their entrants for the authenticated Club user.

GET/v1/brackets

Returns all brackets belonging to the authenticated user. Filter by event using the event_id query parameter. Maximum 200 records.

Parameters

NameInTypeRequiredDescription
event_idqueryintegerNoFilter brackets by event ID.

Request

# All brackets
curl https://api.sportsbracket.org/v1/brackets \
  -H "Authorization: Bearer sk_live_your_key_here"

# Filter by event
curl "https://api.sportsbracket.org/v1/brackets?event_id=1" \
  -H "Authorization: Bearer sk_live_your_key_here"

Response

{
  "brackets": [
    {
      "id": 12,
      "eventId": 1,
      "name": "Men -66kg",
      "sport": "Judo",
      "status": "completed",
      "format": "qf_repechage",
      "isPublic": true,
      "createdAt": "2026-01-20T10:00:00.000Z"
    }
  ]
}
GET/v1/brackets/:id

Returns a single bracket including its list of entrants. Returns 404 if not found or owned by another user.

Parameters

NameInTypeRequiredDescription
idpathintegerYesThe bracket ID.

Request

curl https://api.sportsbracket.org/v1/brackets/12 \
  -H "Authorization: Bearer sk_live_your_key_here"

Response

{
  "bracket": {
  "id": 12,
  "eventId": 1,
  "name": "Men -66kg",
  "sport": "Judo",
  "status": "completed",
  "format": "qf_repechage",
  "isPublic": true,
  "createdAt": "2026-01-20T10:00:00.000Z",
  "entrants": [
    { "id": 101, "name": "Hana Tanaka", "seed": 1, "createdAt": "2026-01-21T08:00:00.000Z" },
    { "id": 102, "name": "Erik Johansson", "seed": 2, "createdAt": "2026-01-21T08:01:00.000Z" }
  ]
}
}

Field reference

statusdraft | active | completed
formatsingle_elimination | qf_repechage | double_repechage | direct_repechage | round_robin | best_of_3 | double_pool
isPublicWhether the bracket is publicly viewable via share link