changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": {},
+ "properties": {
+ "category": {
+ "enum": [
+ "music",
+ "game"
+ ],
+ "type": "string"
+ },
+ "detected": {
+ "description": "true: the category was read from the words — set `category` if it is wrong",
+ "type": "boolean"
+ },
+ "game": {
+ "additionalProperties": {},
+ "properties": {
+ "live": {
+ "description": "false: games are not live yet — there are no links or prices to give",
+ "type": "boolean"
+ },
+ "message": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "query": {
+ "type": "string"
+ },
+ "resolved_at": {
+ "type": "string"
+ },
+ "response_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "results": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "preorder",
+ "available",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "click_url": {
+ "description": "The link to give the user",
+ "type": "string"
+ },
+ "edition": {
+ "type": "string"
+ },
+ "merchant": {
+ "type": "string"
+ },
+ "merchant_id": {
+ "type": "string"
+ },
+ "price": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "null when no price is listed — never zero, never free"
+ },
+ "price_freshness": {
+ "type": "string"
+ },
+ "rank": {
+ "type": "number"
+ },
+ "ranking_reason": {
+ "additionalProperties": {},
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "summary"
+ ],
+ "type": "object"
+ },
+ "trust_tier": {
+ "enum": [
+ "authoritative",
+ "verified",
+ "listed"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "purchase",
+ "stream",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "rank",
+ "merchant",
+ "merchant_id",
+ "type",
+ "trust_tier",
+ "availability",
+ "price",
+ "click_url",
+ "url",
+ "ranking_reason"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "coming_soon",
+ "success",
+ "partial",
+ "no_results"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "live",
+ "query",
+ "message",
+ "results",
+ "response_id",
+ "resolved_at"
+ ],
+ "type": "object"
+ },
+ "music": {
+ "additionalProperties": {},
+ "properties": {
+ "artist": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "cover_art": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "did_you_mean": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "artist": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "enum": [
+ "track",
+ "album",
+ "artist"
+ ],
+ "type": "string"
+ },
+ "page_url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "query": {
+ "description": "Pass back as `query` to open exactly this",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "artist",
+ "kind",
+ "query",
+ "page_url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "anyOf": [
+ {
+ "enum": [
+ "track",
+ "album"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "page_url": {
+ "description": "The BeatsVine page, only when it is confirmed to exist",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "partial_sources": {
+ "description": "Sources that did not answer: say so when not empty",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "resolved_as": {
+ "additionalProperties": {},
+ "properties": {
+ "corrected": {
+ "description": "The answer is for different words than asked: tell the user what is shown",
+ "type": "boolean"
+ },
+ "note": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "query": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "via": {
+ "anyOf": [
+ {
+ "enum": [
+ "direct",
+ "catalogue_search",
+ "live_lookup"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "query",
+ "via",
+ "corrected",
+ "note"
+ ],
+ "type": "object"
+ },
+ "resolved_at": {
+ "description": "Every link existed at this time",
+ "type": "string"
+ },
+ "response_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "results": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "preorder",
+ "available",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "click_url": {
+ "description": "The link to give the user",
+ "type": "string"
+ },
+ "edition": {
+ "type": "string"
+ },
+ "merchant": {
+ "type": "string"
+ },
+ "merchant_id": {
+ "type": "string"
+ },
+ "price": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "null when no price is listed — never zero, never free"
+ },
+ "price_freshness": {
+ "type": "string"
+ },
+ "rank": {
+ "type": "number"
+ },
+ "ranking_reason": {
+ "additionalProperties": {},
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "summary"
+ ],
+ "type": "object"
+ },
+ "trust_tier": {
+ "enum": [
+ "authoritative",
+ "verified",
+ "listed"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "purchase",
+ "stream",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "rank",
+ "merchant",
+ "merchant_id",
+ "type",
+ "trust_tier",
+ "availability",
+ "price",
+ "click_url",
+ "url",
+ "ranking_reason"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "success",
+ "partial",
+ "no_results"
+ ],
+ "type": "string"
+ },
+ "title": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ttl_seconds": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "warnings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "artist",
+ "title",
+ "kind",
+ "results",
+ "partial_sources",
+ "warnings",
+ "resolved_as",
+ "did_you_mean",
+ "page_url",
+ "cover_art",
+ "response_id",
+ "resolved_at",
+ "ttl_seconds"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "category",
+ "detected"
+ ],
+ "type": "object"
+}