Brief

A brief is a structured research summary for one game — signals, injuries, line history, weather, and narrative. Every brief is versioned: later versions supersede earlier ones when new material information lands (e.g. a starter is ruled out).

#Fetch the latest brief

GET/api/v1/games/{gameId}/brief
Auth requiredLite
Returns the newest non-superseded brief for the game. Free-tier users receive 403 tier_insufficient; the single "today's free brief" is served from the marketing page, not this endpoint.
bash
curl "https://api.closeline.io/v1/games/$GAME_ID/brief" \
  -H "Authorization: Bearer $CLOSELINE_API_KEY"

#Pin to a version

bash
curl "https://api.closeline.io/v1/games/$GAME_ID/brief?version=3" \
  -H "Authorization: Bearer $CLOSELINE_API_KEY"

version must be a positive integer; non-integers yield 422 invalid_request. Unknown versions yield 404 not_found.

#Version history

GET/api/v1/games/{gameId}/brief/versions
Auth requiredLite
Lightweight list of all versions — id, version number, generated_at, and superseded_by.

#Response shape

json
{
  "data": {
    "id": "brief_01HXY...",
    "game_id": "game_01HXY...",
    "version": 4,
    "generated_at": "2026-04-17T22:10:03Z",
    "superseded_by": null,
    "brief": { },
    "brief_md": "# Brief\n..."
  }
}

#SDK

ts
const latest = await cl.games.brief(gameId);
const pinned = await cl.games.brief(gameId, { version: 3 });
const history = await cl.games.briefVersions(gameId);

// Render the markdown rollup in your UI:
console.log(latest.brief_md);

#Tier recap

  • Free — 403 tier_insufficient.
  • Lite and higher — 200 with the brief.