changedOutput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "asOf": {
- "description": "Latest upstream quote timestamp among priced S&P 500 stocks; not necessarily the latest breadth session date.",
- "type": [
- "string",
- "null"
- ]
- },
- "constituents": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "generatedAt": {
- "description": "Time this snapshot was calculated; cached responses retain this timestamp.",
- "type": "string"
- },
- "history": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "all": {
- "description": "Percentage of eligible S&P 500 stocks above their 20-session simple moving average.",
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "date": {
- "description": "Trading-session date; use this, not asOf, to identify the reading's session.",
- "type": "string"
- },
- "nasdaq100": {
- "anyOf": [
- {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Nasdaq-100 percentage above SMA20; null when coverage is insufficient."
- },
- "soxx": {
- "anyOf": [
- {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "SOXX holdings percentage above SMA20; null when coverage is insufficient."
- },
- "total": {
- "description": "Sum of the eleven rounded sector percentages; not a stock count or a percentage.",
- "maximum": 1100,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "date",
- "total",
- "all",
- "nasdaq100",
- "soxx"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "index": {
- "type": "string"
- },
- "latest": {
- "additionalProperties": false,
- "properties": {
- "all": {
- "description": "Percentage of eligible S&P 500 stocks above their 20-session simple moving average.",
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "benchmarks": {
- "additionalProperties": {
- "type": [
- "number",
- "null"
- ]
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "date": {
- "description": "Trading-session date; use this, not asOf, to identify the reading's session.",
- "type": "string"
- },
- "nasdaq100": {
- "anyOf": [
- {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Nasdaq-100 percentage above SMA20; null when coverage is insufficient."
- },
- "sectors": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "above": {
- "description": "Percentage of eligible sector stocks above their 20-session simple moving average.",
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "code": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "stocks": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "code",
- "name",
- "stocks",
- "above"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "soxx": {
- "anyOf": [
- {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "SOXX holdings percentage above SMA20; null when coverage is insufficient."
- },
- "total": {
- "description": "Sum of the eleven rounded sector percentages; not a stock count or a percentage.",
- "maximum": 1100,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "date",
- "total",
- "all",
- "nasdaq100",
- "soxx",
- "sectors",
- "benchmarks"
- ],
- "type": "object"
- },
- "movingAverage": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- },
- "priced": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "generatedAt",
- "asOf",
- "index",
- "movingAverage",
- "constituents",
- "priced",
- "latest",
- "history"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "error": {
- "type": "string"
- }
- },
- "required": [
- "error"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "asOf": {
+ "description": "Latest upstream quote timestamp among priced S&P 500 stocks; not necessarily the latest breadth session date.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "constituents": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "generatedAt": {
+ "description": "Time this snapshot was calculated; cached responses retain this timestamp.",
+ "type": "string"
+ },
+ "history": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "all": {
+ "description": "Percentage of eligible S&P 500 stocks above their 20-session simple moving average.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "date": {
+ "description": "Trading-session date; use this, not asOf, to identify the reading's session.",
+ "type": "string"
+ },
+ "nasdaq100": {
+ "anyOf": [
+ {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Nasdaq-100 percentage above SMA20; null when coverage is insufficient."
+ },
+ "sox": {
+ "anyOf": [
+ {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "PHLX Semiconductor constituent percentage above SMA20; null when coverage is insufficient."
+ },
+ "total": {
+ "description": "Sum of the eleven rounded sector percentages; not a stock count or a percentage.",
+ "maximum": 1100,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "date",
+ "total",
+ "all",
+ "nasdaq100",
+ "sox"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "index": {
+ "type": "string"
+ },
+ "latest": {
+ "additionalProperties": false,
+ "properties": {
+ "all": {
+ "description": "Percentage of eligible S&P 500 stocks above their 20-session simple moving average.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "benchmarks": {
+ "additionalProperties": false,
+ "properties": {
+ "NDX": {
+ "description": "Nasdaq-100 price index level (^NDX); no dividends.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "SOX": {
+ "description": "PHLX Semiconductor price index level (^SOX); no dividends.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "SPX": {
+ "description": "S&P 500 price index level (^GSPC); no dividends.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "SPX",
+ "NDX",
+ "SOX"
+ ],
+ "type": "object"
+ },
+ "date": {
+ "description": "Trading-session date; use this, not asOf, to identify the reading's session.",
+ "type": "string"
+ },
+ "nasdaq100": {
+ "anyOf": [
+ {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Nasdaq-100 percentage above SMA20; null when coverage is insufficient."
+ },
+ "sectors": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "above": {
+ "description": "Percentage of eligible sector stocks above their 20-session simple moving average.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "stocks": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "code",
+ "name",
+ "stocks",
+ "above"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sox": {
+ "anyOf": [
+ {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "PHLX Semiconductor constituent percentage above SMA20; null when coverage is insufficient."
+ },
+ "total": {
+ "description": "Sum of the eleven rounded sector percentages; not a stock count or a percentage.",
+ "maximum": 1100,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "date",
+ "total",
+ "all",
+ "nasdaq100",
+ "sox",
+ "sectors",
+ "benchmarks"
+ ],
+ "type": "object"
+ },
+ "movingAverage": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "priced": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "generatedAt",
+ "asOf",
+ "index",
+ "movingAverage",
+ "constituents",
+ "priced",
+ "latest",
+ "history"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "error"
+ ],
+ "type": "object"
+ }
+]