When to use this. A season is the top-level parameter every style is organised by, and a
brand can have as many as it needs. A style cannot be created without one, so seasons are
usually the first admin data you set up. Use these endpoints to create seasons, group them by
project, and retire them once a collection closes.
The workflow
Seasons sit at the top of the product structure: you create a season, file styles under it, and later deactivate or lock it when the collection is done. Many brands also use the project field to sub-divide a season into drops or collaboration collections.1
Create the season
POST /api/seasons with the season name (and optionally a project and custom ID). Only
designer users can create seasons.2
Create styles in it
POST /api/styles references the season — a style cannot be created without one.3
Find styles by season
GET /api/styles with season.id (or season.name / season.project) to pull everything
in a season later.4
Retire the season
PUT /api/seasons/{id} to set state to inactive so it is no longer offered for new
styles, or DELETE /api/seasons/{id} to soft-delete it.Walkthrough
Create a season for next spring/summer. The body is an array — one or many seasons are created in a single all-or-nothing transaction.id — styles
reference seasons by it.
Field reference
The fields that matter most when creating or updating a season:PUT is a full replace and requires name and state on every item — include the current
value of any field you don’t intend to change.Prefer a partial update?
PATCH /api/seasons/{id} accepts an RFC 6902 JSON Patch document
(Content-Type: application/json-patch+json) and touches only the paths you send — /name,
/project, /customId, and /state. state still cannot be set to deleted (use
DELETE /api/seasons/{id}), and name cannot be cleared.Roles & permissions
Managing seasons requires theseasons permission on a designer (brand) account —
typically CompanyAdmin or CompanyUser. Supplier accounts collaborate on styles but do not
manage a brand’s seasons. Locking a season is a Professional-tier feature.
When things go wrong
Errors use the standard envelope (status: "error", a code, and error.details[]). See
Errors & responses for the full list of codes and how to resolve them.
What to call next
Styles
Create styles in the season:
POST /api/styles, then filter with GET /api/styles?season.id=.Sample types
Season milestone deadlines are driven by sample types:
GET /api/sample-types.Groups
Another way to organise styles:
GET /api/groups.Authentication
How to get and send your
X-Auth-Token API key.