{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/astraeyelabs-io/json-schema/astraeyelabs-io-get-api-v1-research-market-slices-response-schema.json",
  "title": "GetApiV1ResearchMarketSlicesResponse",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/astraeyelabs-io-openapi-generated.yml#/components/schemas/GetApiV1ResearchMarketSlicesResponse",
  "type": "object",
  "properties": {
    "marketSlices[].id": {
      "type": "string",
      "description": "Slice identifier."
    },
    "marketSlices[].name": {
      "type": "string",
      "description": "Slice name."
    },
    "marketSlices[].assetClass": {
      "type": "string",
      "description": "Asset class it draws."
    },
    "marketSlices[].group": {
      "type": "object",
      "description": "Section group (id, label)."
    },
    "marketSlices[].rule": {
      "type": "string",
      "description": "What the slice includes."
    },
    "marketSlices[].filter": {
      "type": "object",
      "description": "Filtering criteria (index, rankMax, minTurnover, tickers)."
    },
    "marketSlices[].default": {
      "type": "boolean",
      "description": "True for the default slice of its asset class."
    },
    "marketSlices[].plan": {
      "type": "object",
      "description": "Lowest plan that can use this slice."
    },
    "marketSlices[].includedInYourPlan": {
      "type": "boolean",
      "description": "Whether your plan can use this slice."
    },
    "marketSlices[].yourPlan": {
      "type": "object",
      "description": "Your current plan."
    },
    "coverageChoices[].name": {
      "type": "string",
      "description": "Crypto and stocks, Stocks only or Crypto only."
    },
    "coverageChoices[].detail": {
      "type": "string",
      "description": "What the choice gives."
    },
    "coverageChoices[].assetClasses": {
      "type": "string",
      "description": "Asset classes drawn."
    },
    "coverageChoices[].skipsAssetClass": {
      "type": "string",
      "description": "Asset class left out."
    }
  }
}