---
title: "The open season and this week’s cohort"
method: GET
path: "/seasons/current"
tags: ["Seasons"]
---

# The open season and this week’s cohort

`GET /seasons/current`

## Request

- Base URL: `https://kellian.app/api/v1`
- URL: `https://kellian.app/api/v1/seasons/current`
- Auth: none required

## Response `200`

Success

- SeasonCurrentResponse: The open season, this week’s scored cohort, and the freeze and close times to plan around. Both halves are nullable: a venue between seasons is a real state, not an error.
  - `season` SeasonSummary, required
    - `id` string, required
    - `number` integer, required
    - `name` string, required
    - `status` 'scheduled' | 'open' | 'closed' | 'frozen', required: scheduled → open → closed → frozen. `closed` means calls no longer attribute to it; `frozen` means the standings are written and stand.
    - `opensAt` union, required
      - string, date-time
      - string
    - `closesAt` union, required: Exclusive. A call filled at this instant belongs to no season.
      - string, date-time
      - string
    - `frozenAt` union, required
      - string, date-time
      - string
    - `rulesetHash` string, required: keccak256 of the canonical ruleset. Immutable once the season opens, so the archive can always say which rules a standing was scored under.
    - `rulesetVersion` string, required
    - `counterWindowEndsAt` union, required: Denormalised from `opensAt` at charter: a published methodology whose window moved later is not a methodology.
      - string, date-time
      - string
  - `cohort` CohortSummary, required
    - `week` integer, required: 1-based week within the season.
    - `opensAt` union, required
      - string, date-time
      - string
    - `freezesAt` union, required: Exclusive. Fills at or after this are not cohort-scored.
      - string, date-time
      - string
    - `frozenAt` union, required
      - string, date-time
      - string
    - `status` 'open' | 'frozen', required
    - `selectionHash` string, required: keccak256 over the sorted market ids, the week and the ruleset hash. Recomputable — which is the point: it proves the set never changed.
    - `marketCount` integer, required
  - `config` object, required
    - `milestonesEnabled` boolean, required
    - `maxRows` integer, required
    - `floorModuleOrder` string[], required

## Other responses

- `429`: Error: one of RATE_LIMITED
- `500`: Error: one of INTERNAL_ERROR
- `default`: Error response (RFC 9457 Problem Details for HTTP APIs)

---

[API](https://skmtc.dev/problee/apis/kellian-consumer-api.md) · [All operations](https://skmtc.dev/problee/apis/kellian-consumer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/problee/apis/kellian-consumer-api/revisions/2b8254b0ec57?raw)
