{
  "openapi": "3.0.1",
  "info": {
    "title": "Compare the Bricks developer API",
    "description": "A read-only HTTP API over the Compare the Bricks LEGO catalogue, retailer prices and their history, secondary-market values, daily features, the site's own articles and bulk snapshot files, served from a snapshot rebuilt once a day.",
    "version": "v1"
  },
  "paths": {
    "/v1/speed-builds": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "The whole vetted set-to-video mapping, cursor-paged. ENRICHED: Supporter, Ultra and Developer keys.",
        "parameters": [
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "featured",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListingListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListingListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListingListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/speed-builds/channels": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "The channels with vetted videos in the mapping. ENRICHED: Supporter, Ultra and Developer keys.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildChannelSummaryListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildChannelSummaryListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildChannelSummaryListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/articles": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "The site's own articles, newest first, cursor-paged.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "setId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/articles/{id}": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "One article by its slug.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of url. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/daily/set": {
      "get": {
        "tags": [
          "Daily"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/daily/minifigure": {
      "get": {
        "tags": [
          "Daily"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/daily/archive": {
      "get": {
        "tags": [
          "Daily"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyFeatureListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/identify/minifigure": {
      "post": {
        "tags": [
          "Identify"
        ],
        "summary": "Identify a minifigure from one photo. Multipart form: `frame`\r\n(jpg, png or webp, under 4 MB), `mode` (must be minifig),\r\n`limit` (1 to 10, default 5). One request a second per key.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "frame"
                ],
                "type": "object",
                "properties": {
                  "frame": {
                    "type": "string",
                    "format": "binary"
                  },
                  "mode": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentifyResultResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblemDto"
                }
              }
            }
          },
          "503": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblemDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/market-value": {
      "get": {
        "tags": [
          "Market"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "condition",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/market-value/history": {
      "get": {
        "tags": [
          "Market"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "condition",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}/market-value": {
      "get": {
        "tags": [
          "Market"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "condition",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMarketValueResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}/market-value/history": {
      "get": {
        "tags": [
          "Market"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "condition",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketValuePointListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/market/movers": {
      "get": {
        "tags": [
          "Market"
        ],
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "condition",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "window",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minSampleSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMoverListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMoverListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMoverListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/health": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Liveness of the host and freshness of the snapshot. No key and no\r\nquota, so a monitor can poll it without a credential. Degraded means\r\nstill serving but the snapshot is older than the stale threshold;\r\nunavailable means the database is unreachable and the answer is 503.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicHealthDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicHealthDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicHealthDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/meta": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "The snapshot stamp, the currencies and scopes the host serves, and headline counts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMetaDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMetaDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMetaDto"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "parameters": [
          {
            "name": "codes",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exclusiveToOneSet",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSummaryListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSummaryListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSummaryListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/trending": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "summary": "The figures people are looking at most on the site. Rank only; the counts stay private.",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingMinifigureListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingMinifigureListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingMinifigureListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Picks the locale of each url (the site page in that currency), and which share card a key that reads prices gets. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}/sets": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSetRefListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSetRefListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinifigureSetRefListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}/related": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RelatedMinifigureListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RelatedMinifigureListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RelatedMinifigureListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/minifigures/{code}/images": {
      "get": {
        "tags": [
          "Minifigures"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/prices": {
      "get": {
        "tags": [
          "Prices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetPricesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetPricesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetPricesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/prices/history": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "A set's retailer price history in one currency: one series per retailer, as change points over the window the key can read (90 days up to the snapshot's dataAsOfUtc; twelve months with extended history).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "retailer",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetPriceHistoryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetPriceHistoryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetPriceHistoryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/rrp": {
      "get": {
        "tags": [
          "Prices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendedRetailPriceResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendedRetailPriceResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendedRetailPriceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/deals": {
      "get": {
        "tags": [
          "Prices"
        ],
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minDiscountPercentage",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "minPrice",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "retailer",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DealListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/retailers": {
      "get": {
        "tags": [
          "Prices"
        ],
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/retailers/{id}": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "One retailer by id, in the same shape as the list.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/retailers/{id}/offers": {
      "get": {
        "tags": [
          "Prices"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inStock",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "minDiscountPercentage",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerSetOfferListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerSetOfferListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetailerSetOfferListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "One ranked list of sets, minifigures and themes matching q. No paging: limit caps at 50.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Required, at least two characters. A set number, a minifigure code, part of a name or a theme.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "description": "Comma-separated subset of set, minifigure, theme. Omitted: all three.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "description": "Sets only: the site's verdict to restrict set hits to (listed, merchandise, unverified, advent_day, unclassified). Omitted: every published set.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchHitListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets": {
      "get": {
        "tags": [
          "Sets"
        ],
        "summary": "Filtered sweep of the catalogue, cursor-paged, stable order. With ids, a batch lookup of up to 100 sets in one call.",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-separated set ids (number-variant, or a bare number for the first variant), at most 100. Unknown ids are simply absent from the answer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subTheme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "yearFrom",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "yearTo",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "minPieces",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "maxPieces",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "minAge",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "retired",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "flag",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "releasedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "releasedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expectedRetiringFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expectedRetiringTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetSummaryListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetSummaryListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetSummaryListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/trending": {
      "get": {
        "tags": [
          "Sets"
        ],
        "summary": "The sets people are looking at most on the site. Rank only; the counts stay private.",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingSetListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingSetListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrendingSetListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/barcode/{code}": {
      "get": {
        "tags": [
          "Sets"
        ],
        "summary": "Look a set up by its EAN-13 or UPC-A barcode.",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Picks the locale of each url (the site page in that currency), and which share card a key that reads prices gets. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}": {
      "get": {
        "tags": [
          "Sets"
        ],
        "summary": "One set by its canonical id (\"75192-1\"; \"75192\" means the first variant).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Picks the locale of each url (the site page in that currency), and which share card a key that reads prices gets. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/minifigures": {
      "get": {
        "tags": [
          "Sets"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetMinifigureRefListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMinifigureRefListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetMinifigureRefListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/images": {
      "get": {
        "tags": [
          "Sets"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetImageListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/instructions": {
      "get": {
        "tags": [
          "Sets"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BuildingInstructionListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildingInstructionListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildingInstructionListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sets/{id}/speed-builds": {
      "get": {
        "tags": [
          "Sets"
        ],
        "summary": "Vetted speed-build videos. ENRICHED: Supporter, Ultra and Developer keys.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeedBuildListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/snapshots": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Every snapshot file with its checksum, counts and columns.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/snapshots/{datasetId}": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "One snapshot file's manifest entry.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotFileResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/snapshots/{datasetId}/download": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "The file itself: CSV, UTF-8, CRLF rows. Sent gzipped when the\r\nrequest accepts gzip (Content-Encoding: gzip, the bytes as stored),\r\ndecompressed on the way out otherwise. The ETag is the SHA-256 of\r\nthe uncompressed CSV, so a conditional request skips a download\r\nwhose snapshot has not changed.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/v1/themes": {
      "get": {
        "tags": [
          "Themes"
        ],
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of each url (the site page in that currency); nothing else in the response depends on it. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/themes/{id}": {
      "get": {
        "tags": [
          "Themes"
        ],
        "summary": "One theme by id, with its sub-themes: the values the subTheme filter on /v1/sets takes.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Optional, GBP or USD. Only picks the locale of url. Omitted: defaultCurrency from /v1/meta.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeDetailResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeDetailResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeDetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/years": {
      "get": {
        "tags": [
          "Themes"
        ],
        "summary": "Every release year the catalogue holds, newest first, with its set and figure counts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/YearListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/YearListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/YearListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/categories": {
      "get": {
        "tags": [
          "Themes"
        ],
        "summary": "AI-classified categories with set counts. ENRICHED.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/subjects": {
      "get": {
        "tags": [
          "Themes"
        ],
        "summary": "Subject keys with set counts and the flagship set. ENRICHED.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectListResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ArticleDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "imageAlt": {
            "type": "string",
            "nullable": true
          },
          "videoUrl": {
            "type": "string",
            "nullable": true
          },
          "author": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "setId": {
            "type": "string",
            "nullable": true
          },
          "publishedOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticleListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ArticleResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ArticleDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BuildingInstructionDto": {
        "type": "object",
        "properties": {
          "book": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "pdfUrl": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "string",
            "nullable": true
          },
          "pageCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "releaseYear": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BuildingInstructionListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildingInstructionDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CategoryDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CategoryListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CommunityRatingDto": {
        "type": "object",
        "properties": {
          "average": {
            "type": "number",
            "format": "double"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConditionValueDto": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "isEstimate": {
            "type": "boolean"
          },
          "sampleSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "average7Day": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "average30Day": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "average90Day": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "average365Day": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "growth7DayPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "growth30DayPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "growth90DayPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "growth365DayPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DailyFeatureDto": {
        "type": "object",
        "properties": {
          "featureDate": {
            "type": "string",
            "format": "date-time"
          },
          "itemType": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "minifigureCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "fact": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DailyFeatureListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyFeatureDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DailyFeatureResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/DailyFeatureDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DealDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "recommendedRetailPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "lowestPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "saving": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "savingPercentage": {
            "type": "number",
            "format": "double"
          },
          "retailer": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "scrapedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DealListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "IdentifyCandidateDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "type": "number",
            "format": "float"
          },
          "sharesImageWith": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IdentifyResultDto": {
        "type": "object",
        "properties": {
          "scanId": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "confident": {
            "type": "boolean"
          },
          "candidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IdentifyCandidateDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IdentifyResultResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/IdentifyResultDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "LiveListingsByConditionDto": {
        "type": "object",
        "properties": {
          "new": {
            "$ref": "#/components/schemas/LiveListingsDto"
          },
          "used": {
            "$ref": "#/components/schemas/LiveListingsDto"
          }
        },
        "additionalProperties": false
      },
      "LiveListingsDto": {
        "type": "object",
        "properties": {
          "estimate": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "lowest": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "listingCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MarketMoverDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "condition": {
            "type": "string",
            "nullable": true
          },
          "window": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "growthPercentage": {
            "type": "number",
            "format": "double"
          },
          "sampleSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MarketMoverListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketMoverDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MarketValuePointDto": {
        "type": "object",
        "properties": {
          "weekStarting": {
            "type": "string",
            "format": "date-time"
          },
          "condition": {
            "type": "string",
            "nullable": true
          },
          "averagePrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "saleCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MarketValuePointListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketValuePointDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MinifigureDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "computedYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pieceCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ageRange": {
            "type": "string",
            "nullable": true
          },
          "exclusiveToOneSet": {
            "type": "boolean",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "rating": {
            "$ref": "#/components/schemas/CommunityRatingDto"
          },
          "appearsInSetCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "shareImage": {
            "$ref": "#/components/schemas/ShareImageDto"
          }
        },
        "additionalProperties": false
      },
      "MinifigureResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MinifigureDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MinifigureSetRefDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MinifigureSetRefListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MinifigureSetRefDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MinifigureSummaryDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "exclusiveToOneSet": {
            "type": "boolean",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MinifigureSummaryListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MinifigureSummaryDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MoneyDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicCountsDto": {
        "type": "object",
        "properties": {
          "sets": {
            "type": "integer",
            "format": "int32"
          },
          "listedSets": {
            "type": "integer",
            "format": "int32"
          },
          "minifigures": {
            "type": "integer",
            "format": "int32"
          },
          "themes": {
            "type": "integer",
            "format": "int32"
          },
          "retailers": {
            "type": "integer",
            "format": "int32"
          },
          "offers": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PublicHealthChecksDto": {
        "type": "object",
        "properties": {
          "database": {
            "type": "string",
            "nullable": true
          },
          "snapshot": {
            "type": "string",
            "nullable": true
          },
          "identify": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicHealthDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "snapshotAgeHours": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "contractVersion": {
            "type": "string",
            "nullable": true
          },
          "checks": {
            "$ref": "#/components/schemas/PublicHealthChecksDto"
          }
        },
        "additionalProperties": false
      },
      "PublicMetaDto": {
        "type": "object",
        "properties": {
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          },
          "buildId": {
            "type": "string",
            "nullable": true
          },
          "contractVersion": {
            "type": "string",
            "nullable": true
          },
          "supportedCurrencies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "defaultCurrency": {
            "type": "string",
            "nullable": true
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "plan": {
            "$ref": "#/components/schemas/PublicMetaPlanDto"
          },
          "counts": {
            "$ref": "#/components/schemas/PublicCountsDto"
          }
        },
        "additionalProperties": false
      },
      "PublicMetaPlanDto": {
        "type": "object",
        "properties": {
          "tier": {
            "type": "string",
            "nullable": true
          },
          "enrichedData": {
            "type": "boolean"
          },
          "burstPerSecond": {
            "type": "integer",
            "format": "int32"
          },
          "requestsDaily": {
            "type": "integer",
            "format": "int32"
          },
          "throttled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicProblemDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "requiredScope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RecommendedRetailPriceDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MoneyDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RecommendedRetailPriceResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RecommendedRetailPriceDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RelatedMinifigureDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "sharedSetCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RelatedMinifigureListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedMinifigureDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RetailerDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "logoUrl": {
            "type": "string",
            "nullable": true
          },
          "currencies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "offerCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RetailerListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetailerDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RetailerOfferDto": {
        "type": "object",
        "properties": {
          "retailerId": {
            "type": "string",
            "nullable": true
          },
          "retailer": {
            "type": "string",
            "nullable": true
          },
          "retailerLogoUrl": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "usedPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "availability": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "scrapedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RetailerPricePointDto": {
        "type": "object",
        "properties": {
          "observedOn": {
            "type": "string",
            "format": "date-time"
          },
          "price": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "usedPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "availability": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RetailerPriceSeriesDto": {
        "type": "object",
        "properties": {
          "retailerId": {
            "type": "string",
            "nullable": true
          },
          "retailer": {
            "type": "string",
            "nullable": true
          },
          "retailerLogoUrl": {
            "type": "string",
            "nullable": true
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetailerPricePointDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RetailerResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RetailerDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RetailerSetOfferDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "usedPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "recommendedRetailPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "saving": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "savingPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availability": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "scrapedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RetailerSetOfferListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetailerSetOfferDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SearchHitDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "set": {
            "$ref": "#/components/schemas/SetSummaryDto"
          },
          "minifigure": {
            "$ref": "#/components/schemas/MinifigureSummaryDto"
          },
          "theme": {
            "$ref": "#/components/schemas/ThemeDto"
          }
        },
        "additionalProperties": false
      },
      "SearchHitListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchHitDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetCategoryDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "confidence": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "subTheme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pieceCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "instructionBookletCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ageRange": {
            "type": "string",
            "nullable": true
          },
          "dimensions": {
            "type": "string",
            "nullable": true
          },
          "ean": {
            "type": "string",
            "nullable": true
          },
          "upc": {
            "type": "string",
            "nullable": true
          },
          "availability": {
            "type": "string",
            "nullable": true
          },
          "retired": {
            "type": "boolean",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "releasedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "retiredOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expectedReleaseOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expectedRetiringOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "rating": {
            "$ref": "#/components/schemas/CommunityRatingDto"
          },
          "category": {
            "$ref": "#/components/schemas/SetCategoryDto"
          },
          "subject": {
            "$ref": "#/components/schemas/SetSubjectDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "shareImage": {
            "$ref": "#/components/schemas/ShareImageDto"
          }
        },
        "additionalProperties": false
      },
      "SetImageDto": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          },
          "url300": {
            "type": "string",
            "nullable": true
          },
          "url600": {
            "type": "string",
            "nullable": true
          },
          "thumbnailUrl": {
            "type": "string",
            "nullable": true
          },
          "pngUrl": {
            "type": "string",
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean"
          },
          "source": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetImageListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetImageDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetMarketValueDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "new": {
            "$ref": "#/components/schemas/ConditionValueDto"
          },
          "used": {
            "$ref": "#/components/schemas/ConditionValueDto"
          },
          "sealed": {
            "$ref": "#/components/schemas/ConditionValueDto"
          },
          "liveListings": {
            "$ref": "#/components/schemas/LiveListingsByConditionDto"
          },
          "valuedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetMarketValueResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SetMarketValueDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetMinifigureRefDto": {
        "type": "object",
        "properties": {
          "minifigureCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "exclusiveToThisSet": {
            "type": "boolean",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetMinifigureRefListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetMinifigureRefDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetPriceHistoryDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "format": "date-time"
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetailerPriceSeriesDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetPriceHistoryResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SetPriceHistoryDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetPricesDto": {
        "type": "object",
        "properties": {
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "recommendedRetailPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetailerOfferDto"
            },
            "nullable": true
          },
          "lowestPrice": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "saving": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "savingPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "offerCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SetPricesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SetPricesDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SetDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SetSubjectDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "isFlagship": {
            "type": "boolean",
            "nullable": true
          },
          "confidence": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetSummaryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pieceCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "retired": {
            "type": "boolean",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetSummaryListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetSummaryDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ShareImageDto": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          },
          "width": {
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "type": "integer",
            "format": "int32"
          },
          "priceShown": {
            "$ref": "#/components/schemas/MoneyDto"
          },
          "generatedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SnapshotFileDto": {
        "type": "object",
        "properties": {
          "datasetId": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "rowCount": {
            "type": "integer",
            "format": "int64"
          },
          "byteCount": {
            "type": "integer",
            "format": "int64"
          },
          "sha256": {
            "type": "string",
            "nullable": true
          },
          "enriched": {
            "type": "boolean"
          },
          "downloadUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SnapshotFileListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotFileDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SnapshotFileResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SnapshotFileDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildChannelDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildChannelSummaryDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "videoCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildChannelSummaryListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpeedBuildChannelSummaryDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "videoUrl": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "$ref": "#/components/schemas/SpeedBuildChannelDto"
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpeedBuildDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildListingDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "videoUrl": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "$ref": "#/components/schemas/SpeedBuildChannelDto"
          },
          "setId": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "setName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SpeedBuildListingListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpeedBuildListingDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SubThemeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          },
          "firstYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lastYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          },
          "flagshipSetId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubjectListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ThemeDetailDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32"
          },
          "exclusiveMinifigureCount": {
            "type": "integer",
            "format": "int32"
          },
          "lastSetReleasedYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "subThemes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubThemeDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ThemeDetailResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ThemeDetailDto"
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ThemeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32"
          },
          "exclusiveMinifigureCount": {
            "type": "integer",
            "format": "int32"
          },
          "lastSetReleasedYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ThemeListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThemeDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TrendingMinifigureDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "exclusiveToOneSet": {
            "type": "boolean",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "rank": {
            "type": "integer",
            "format": "int32"
          },
          "windowDays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TrendingMinifigureListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrendingMinifigureDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TrendingSetDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "setNumber": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pieceCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "retired": {
            "type": "boolean",
            "nullable": true
          },
          "listing": {
            "type": "string",
            "nullable": true
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/SetImageDto"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "rank": {
            "type": "integer",
            "format": "int32"
          },
          "windowDays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TrendingSetListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrendingSetDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "YearDto": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "setCount": {
            "type": "integer",
            "format": "int32"
          },
          "minifigureCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "YearListResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YearDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "dataAsOfUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Your API key from Account > Developer API, sent as: Authorization: Bearer ctb_live_...",
        "scheme": "bearer",
        "bearerFormat": "ctb_live_..."
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}