{
	"openrpc": "1.2.4",
	"info": {
		"title": "Firebolt Manage SDK",
		"version": "1.5.0",
		"x-module-descriptions": {
			"Account": "A module for querying about the device account.",
			"AcknowledgeChallenge": "A module for registering as a provider for a user grant in which the user confirms access to a capability",
			"Advertising": "A module for platform provided advertising settings and functionality.",
			"AudioDescriptions": "A module for managing audio-description Settings.",
			"ClosedCaptions": "A module for managing closed-captions Settings.",
			"Device": "A module for querying about the device and it's capabilities.",
			"Discovery": "Your App likely wants to integrate with the Platform's discovery capabilities. For example to add a \"Watch Next\" tile that links to your app from the platform's home screen.\n\nGetting access to this information requires to connect to lower level APIs made available by the platform. Since implementations differ between operators and platforms, the Firebolt SDK offers a Discovery module, that exposes a generic, agnostic interface to the developer.\n\nUnder the hood, an underlaying transport layer will then take care of calling the right APIs for the actual platform implementation that your App is running on.\n\nThe Discovery plugin is used to _send_ information to the Platform.\n\n### Localization\nApps should provide all user-facing strings in the device's language, as specified by the Firebolt `Localization.language` property.\n\nApps should provide prices in the same currency presented in the app. If multiple currencies are supported in the app, the app should provide prices in the user's current default currency.",
			"HDMIInput": "Methods for managing HDMI inputs on an HDMI sink device.",
			"Keyboard": "Methods for prompting users to enter text with task-oriented UX",
			"Localization": "Methods for accessessing location and language preferences",
			"Metrics": "Methods for sending metrics",
			"PinChallenge": "A module for registering as a provider for a user grant in which the user is prompted for a pin for access to a capability",
			"Privacy": "A module for managing device settings.",
			"SecureStorage": "A module for storing and retrieving secure data owned by the app",
			"UserGrants": "A module for managing grants given by the user",
			"VoiceGuidance": "A module for managing voice guidance settings.",
			"Wifi": "A module for providing support for Wifi."
		},
		"x-interface-names": {
			"xrn:firebolt:capability:lifecycle:state": "StateProvider"
		}
	},
	"methods": [
		{
			"name": "Localization.locality",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:locality"
					]
				},
				{
					"name": "property"
				}
			],
			"summary": "Get the locality/city the device is located in",
			"params": [],
			"result": {
				"name": "locality",
				"summary": "the device city",
				"schema": {
					"$ref": "#/x-schemas/Localization/Locality"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "Philadelphia"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "Rockville"
					}
				}
			]
		},
		{
			"name": "Localization.postalCode",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:postal-code"
					]
				}
			],
			"summary": "Get the postal code the device is located in",
			"params": [],
			"result": {
				"name": "postalCode",
				"summary": "the device postal code",
				"schema": {
					"type": "string"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "19103"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "20850"
					}
				}
			]
		},
		{
			"name": "Localization.countryCode",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:country-code"
					]
				}
			],
			"summary": "Get the ISO 3166-1 alpha-2 code for the country device is located in",
			"params": [],
			"result": {
				"name": "code",
				"summary": "the device country code",
				"schema": {
					"$ref": "#/x-schemas/Localization/CountryCode"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "US"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "UK"
					}
				}
			]
		},
		{
			"name": "Localization.language",
			"summary": "Get the ISO 639 1/2 code for the preferred language",
			"params": [],
			"tags": [
				{
					"name": "deprecated",
					"x-since": "0.17.0",
					"x-alternative": "Localization.locale"
				},
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "lang",
				"summary": "the device language",
				"schema": {
					"$ref": "#/x-schemas/Localization/Language"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "en"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "es"
					}
				}
			]
		},
		{
			"name": "Localization.preferredAudioLanguages",
			"summary": "A prioritized list of ISO 639 1/2 codes for the preferred audio languages on this device.",
			"params": [],
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "languages",
				"summary": "the preferred audio languages",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/x-schemas/Localization/ISO639_2Language"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": [
							"spa",
							"eng"
						]
					}
				},
				{
					"name": "Default Example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": [
							"eng",
							"spa"
						]
					}
				}
			]
		},
		{
			"name": "Localization.locale",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:locale"
					]
				}
			],
			"summary": "Get the *full* BCP 47 code, including script, region, variant, etc., for the preferred langauage/locale",
			"params": [],
			"result": {
				"name": "locale",
				"summary": "the device locale",
				"schema": {
					"$ref": "#/x-schemas/Localization/Locale"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "en-US"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "es-US"
					}
				}
			]
		},
		{
			"name": "Localization.additionalInfo",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:additional-info"
					]
				}
			],
			"summary": "Get any platform-specific localization information",
			"params": [],
			"result": {
				"name": "info",
				"summary": "the additional info",
				"schema": {
					"type": "object",
					"additionalProperties": {
						"type": [
							"number",
							"string",
							"boolean"
						],
						"maxLength": 1024
					},
					"maxProperties": 32
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "info",
						"value": {}
					}
				}
			]
		},
		{
			"name": "Localization.addAdditionalInfo",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:additional-info"
					]
				}
			],
			"summary": "Add any platform-specific localization information in key/value pair",
			"params": [
				{
					"name": "key",
					"summary": "Key to add additionalInfo",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "value",
					"summary": "Value to be set for additionalInfo. Value can be a number, string or boolean",
					"schema": {
						"type": [
							"number",
							"string",
							"boolean"
						]
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Add an additionalInfo for localization",
					"params": [
						{
							"name": "key",
							"value": "defaultKey"
						},
						{
							"name": "value",
							"value": "defaultValue="
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.removeAdditionalInfo",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:additional-info"
					]
				}
			],
			"summary": "Remove any platform-specific localization information from map",
			"params": [
				{
					"name": "key",
					"summary": "Key to remove additionalInfo",
					"schema": {
						"type": "string"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Remove an additionalInfo for localization",
					"params": [
						{
							"name": "key",
							"value": "defaultKey"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.timeZone",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:time-zone"
					]
				}
			],
			"summary": "Set the IANA timezone for the device",
			"params": [],
			"result": {
				"name": "result",
				"schema": {
					"$ref": "#/x-schemas/Localization/TimeZone"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "America/New_York"
					}
				},
				{
					"name": "Additional Example",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "America/Los_Angeles"
					}
				}
			]
		},
		{
			"name": "Localization.onLocalityChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.locality"
				},
				{
					"name": "event",
					"x-alternative": "locality"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:locality"
					]
				}
			],
			"summary": "Get the locality/city the device is located in",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "locality",
				"summary": "the device city",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Localization/Locality"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "Philadelphia"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "Rockville"
					}
				}
			]
		},
		{
			"name": "Localization.onPostalCodeChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.postalCode"
				},
				{
					"name": "event",
					"x-alternative": "postalCode"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:postal-code"
					]
				}
			],
			"summary": "Get the postal code the device is located in",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "postalCode",
				"summary": "the device postal code",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "string"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "19103"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "20850"
					}
				}
			]
		},
		{
			"name": "Localization.onCountryCodeChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.countryCode"
				},
				{
					"name": "event",
					"x-alternative": "countryCode"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:country-code"
					]
				}
			],
			"summary": "Get the ISO 3166-1 alpha-2 code for the country device is located in",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "code",
				"summary": "the device country code",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Localization/CountryCode"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "US"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "UK"
					}
				}
			]
		},
		{
			"name": "Localization.onLanguageChanged",
			"summary": "Get the ISO 639 1/2 code for the preferred language",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.language"
				},
				{
					"name": "event",
					"x-alternative": "language"
				},
				{
					"name": "deprecated",
					"x-since": "0.17.0",
					"x-alternative": "Localization.locale"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "lang",
				"summary": "the device language",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Localization/Language"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "en"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "es"
					}
				}
			]
		},
		{
			"name": "Localization.onPreferredAudioLanguagesChanged",
			"summary": "A prioritized list of ISO 639 1/2 codes for the preferred audio languages on this device.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.preferredAudioLanguages"
				},
				{
					"name": "event",
					"x-alternative": "preferredAudioLanguages"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "languages",
				"summary": "the preferred audio languages",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "array",
							"items": {
								"$ref": "#/x-schemas/Localization/ISO639_2Language"
							}
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": [
							"spa",
							"eng"
						]
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": [
							"eng",
							"spa"
						]
					}
				}
			]
		},
		{
			"name": "Localization.onLocaleChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.locale"
				},
				{
					"name": "event",
					"x-alternative": "locale"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:locale"
					]
				}
			],
			"summary": "Get the *full* BCP 47 code, including script, region, variant, etc., for the preferred langauage/locale",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "locale",
				"summary": "the device locale",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Localization/Locale"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "en-US"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "es-US"
					}
				}
			]
		},
		{
			"name": "Localization.onTimeZoneChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Localization.timeZone"
				},
				{
					"name": "event",
					"x-alternative": "timeZone"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:localization:time-zone"
					]
				}
			],
			"summary": "Set the IANA timezone for the device",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Localization/TimeZone"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "America/New_York"
					}
				},
				{
					"name": "Additional Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "America/Los_Angeles"
					}
				}
			]
		},
		{
			"name": "Localization.setLocality",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "locality"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:locality"
					]
				}
			],
			"summary": "Get the locality/city the device is located in",
			"params": [
				{
					"name": "value",
					"summary": "the device city",
					"schema": {
						"$ref": "#/x-schemas/Localization/Locality"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "Philadelphia"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "Rockville"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setPostalCode",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "postalCode"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:postal-code"
					]
				}
			],
			"summary": "Get the postal code the device is located in",
			"params": [
				{
					"name": "value",
					"summary": "the device postal code",
					"schema": {
						"type": "string"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "19103"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "20850"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setCountryCode",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "countryCode"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:country-code"
					]
				}
			],
			"summary": "Get the ISO 3166-1 alpha-2 code for the country device is located in",
			"params": [
				{
					"name": "value",
					"summary": "the device country code",
					"schema": {
						"$ref": "#/x-schemas/Localization/CountryCode"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "US"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "UK"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setLanguage",
			"summary": "Get the ISO 639 1/2 code for the preferred language",
			"params": [
				{
					"name": "value",
					"summary": "the device language",
					"schema": {
						"$ref": "#/x-schemas/Localization/Language"
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "language"
				},
				{
					"name": "deprecated",
					"x-since": "0.17.0",
					"x-alternative": "Localization.locale"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "en"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "es"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setPreferredAudioLanguages",
			"summary": "A prioritized list of ISO 639 1/2 codes for the preferred audio languages on this device.",
			"params": [
				{
					"name": "value",
					"summary": "the preferred audio languages",
					"schema": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Localization/ISO639_2Language"
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "preferredAudioLanguages"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:language"
					]
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "value",
							"value": [
								"spa",
								"eng"
							]
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "value",
							"value": [
								"eng",
								"spa"
							]
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setLocale",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "locale"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:locale"
					]
				}
			],
			"summary": "Get the *full* BCP 47 code, including script, region, variant, etc., for the preferred langauage/locale",
			"params": [
				{
					"name": "value",
					"summary": "the device locale",
					"schema": {
						"$ref": "#/x-schemas/Localization/Locale"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "en-US"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "es-US"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Localization.setTimeZone",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "timeZone"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:localization:time-zone"
					]
				}
			],
			"summary": "Set the IANA timezone for the device",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Localization/TimeZone"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "value",
							"value": "America/New_York"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Additional Example",
					"params": [
						{
							"name": "value",
							"value": "America/Los_Angeles"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Metrics.event",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:metrics:distributor"
					]
				}
			],
			"summary": "Inform the platform of 1st party distributor metrics.",
			"params": [
				{
					"name": "schema",
					"summary": "The schema URI of the metric type",
					"schema": {
						"type": "string",
						"format": "uri"
					},
					"required": true
				},
				{
					"name": "data",
					"summary": "A JSON payload conforming the the provided schema",
					"schema": {
						"$ref": "#/components/schemas/EventObject"
					},
					"required": true
				}
			],
			"result": {
				"name": "results",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Send foo event",
					"params": [
						{
							"name": "schema",
							"value": "http://meta.rdkcentral.com/some/schema"
						},
						{
							"name": "data",
							"value": {
								"foo": "foo"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Wifi.scan",
			"summary": "Scan available wifi networks in the location.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:protocol:wifi"
					]
				}
			],
			"params": [
				{
					"name": "timeout",
					"schema": {
						"$ref": "#/x-schemas/Types/Timeout"
					}
				}
			],
			"result": {
				"name": "list",
				"summary": "Contains a list of wifi networks available near the device.",
				"schema": {
					"$ref": "#/components/schemas/AccessPointList"
				}
			},
			"examples": [
				{
					"name": "Successful Wifi List",
					"params": [
						{
							"name": "timeout",
							"value": 30
						}
					],
					"result": {
						"name": "successfulWifiResultExample",
						"value": {
							"list": [
								{
									"ssid": "DND",
									"security": "wpa2Psk",
									"signalStrength": -70,
									"frequency": 2.4
								},
								{
									"ssid": "Fortnite",
									"security": "WPA2_ENTERPRISE_AES",
									"signalStrength": -70,
									"frequency": 5
								},
								{
									"ssid": "Guardian",
									"security": "none",
									"signalStrength": -70,
									"frequency": 2.4
								}
							]
						}
					}
				}
			]
		},
		{
			"name": "Wifi.connect",
			"summary": "Connect the device to the specified SSID.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:protocol:wifi"
					]
				}
			],
			"params": [
				{
					"name": "ssid",
					"schema": {
						"type": "string"
					},
					"description": "Name of Wifi SSID to connect for the device."
				},
				{
					"name": "passphrase",
					"schema": {
						"type": "string"
					},
					"description": "Password or Passphrase for the wifi."
				},
				{
					"name": "security",
					"schema": {
						"$ref": "#/components/schemas/WifiSecurityMode"
					}
				}
			],
			"result": {
				"name": "connectedWifi",
				"summary": "Successful Response after connecting to the Wifi.",
				"schema": {
					"$ref": "#/components/schemas/AccessPoint"
				}
			},
			"examples": [
				{
					"name": "Connect to a wpa2Psk Wifi with password",
					"params": [
						{
							"name": "ssid",
							"value": "DND"
						},
						{
							"name": "passphrase",
							"value": "gargoyle"
						},
						{
							"name": "security",
							"value": "wpa2Psk"
						}
					],
					"result": {
						"name": "successfulWifiConnection",
						"value": {
							"ssid": "DND",
							"security": "wpa2Psk",
							"signalStrength": -70,
							"frequency": 2.4
						}
					}
				},
				{
					"name": "Connect to a WPA2 PSK Wifi with password",
					"params": [
						{
							"name": "ssid",
							"value": "Guardian WIFI"
						},
						{
							"name": "passphrase",
							"value": ""
						},
						{
							"name": "security",
							"value": "none"
						}
					],
					"result": {
						"name": "successfulWifiConnection",
						"value": {
							"ssid": "Guardian WIFI",
							"security": "none",
							"signalStrength": -70,
							"frequency": 2.4
						}
					}
				}
			]
		},
		{
			"name": "Wifi.disconnect",
			"summary": "Disconnect the device if connected via WIFI.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:protocol:wifi"
					]
				}
			],
			"params": [],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Disconnect",
					"params": [],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Wifi.wps",
			"summary": "Connect to WPS",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:protocol:wifi"
					]
				}
			],
			"params": [
				{
					"name": "security",
					"schema": {
						"$ref": "#/components/schemas/WPSSecurityPin"
					}
				}
			],
			"result": {
				"name": "connectedWifi",
				"summary": "Successful Response after connecting to the Wifi.",
				"schema": {
					"$ref": "#/components/schemas/AccessPoint"
				}
			},
			"examples": [
				{
					"name": "Connect to a WPS Wifi router",
					"params": [
						{
							"name": "security",
							"value": "pushButton"
						}
					],
					"result": {
						"name": "successfulWifiConnection",
						"value": {
							"ssid": "DND",
							"security": "wpa2Psk",
							"signalStrength": -70,
							"frequency": 2.4
						}
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.enabled",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "Whether or not closed-captions are enabled.",
			"params": [],
			"result": {
				"name": "enabled",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontFamily",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font family for displaying closed-captions.",
			"params": [],
			"result": {
				"name": "family",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/FontFamily"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "family",
						"value": "monospaced_sanserif"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "family",
						"value": "cursive"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "family",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontSize",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font size for displaying closed-captions.",
			"params": [],
			"result": {
				"name": "size",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/FontSize"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "size",
						"value": 1
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "size",
						"value": 1
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "size",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontColor",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font color for displaying closed-captions.",
			"params": [],
			"result": {
				"name": "color",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Color"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontEdge",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge style for displaying closed-captions.",
			"params": [],
			"result": {
				"name": "edge",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/FontEdge"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "edge",
						"value": "none"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "edge",
						"value": "uniform"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "edge",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontEdgeColor",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge color for displaying closed-captions.",
			"params": [],
			"result": {
				"name": "color",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Color"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.fontOpacity",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions characters.",
			"params": [],
			"result": {
				"name": "opacity",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Opacity"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.backgroundColor",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred background color for displaying closed-captions, .",
			"params": [],
			"result": {
				"name": "color",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Color"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.backgroundOpacity",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions backgrounds.",
			"params": [],
			"result": {
				"name": "opacity",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Opacity"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.textAlign",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [],
			"result": {
				"name": "alignment",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/HorizontalAlignment"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "alignment",
						"value": "center"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "alignment",
						"value": "left"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.textAlignVertical",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [],
			"result": {
				"name": "alignment",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/VerticalAlignment"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "alignment",
						"value": "middle"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "alignment",
						"value": "top"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.windowColor",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window color for displaying closed-captions, .",
			"params": [],
			"result": {
				"name": "color",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Color"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "color",
						"value": "white"
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.windowOpacity",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window opacity for displaying closed-captions backgrounds.",
			"params": [],
			"result": {
				"name": "opacity",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/Opacity"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.preferredLanguages",
			"summary": "A prioritized list of ISO 639-2/B codes for the preferred closed captions languages on this device.",
			"params": [],
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"result": {
				"name": "languages",
				"summary": "the preferred closed captions languages",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/x-schemas/Localization/ISO639_2Language"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": [
							"spa",
							"eng"
						]
					}
				},
				{
					"name": "Default Example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": [
							"eng",
							"spa"
						]
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onEnabledChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.enabled"
				},
				{
					"name": "event",
					"x-alternative": "enabled"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "Whether or not closed-captions are enabled.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "enabled",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontFamilyChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontFamily"
				},
				{
					"name": "event",
					"x-alternative": "fontFamily"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font family for displaying closed-captions.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "family",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/FontFamily"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "family",
						"value": "monospaced_sanserif"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "family",
						"value": "cursive"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "family",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontSizeChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontSize"
				},
				{
					"name": "event",
					"x-alternative": "fontSize"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font size for displaying closed-captions.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "size",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/FontSize"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "size",
						"value": 1
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "size",
						"value": 1
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "size",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontColorChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontColor"
				},
				{
					"name": "event",
					"x-alternative": "fontColor"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font color for displaying closed-captions.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "color",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Color"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontEdgeChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontEdge"
				},
				{
					"name": "event",
					"x-alternative": "fontEdge"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge style for displaying closed-captions.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "edge",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/FontEdge"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "edge",
						"value": "none"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "edge",
						"value": "uniform"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "edge",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontEdgeColorChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontEdgeColor"
				},
				{
					"name": "event",
					"x-alternative": "fontEdgeColor"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge color for displaying closed-captions.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "color",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Color"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onFontOpacityChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.fontOpacity"
				},
				{
					"name": "event",
					"x-alternative": "fontOpacity"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions characters.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "opacity",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Opacity"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onBackgroundColorChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.backgroundColor"
				},
				{
					"name": "event",
					"x-alternative": "backgroundColor"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred background color for displaying closed-captions, .",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "color",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Color"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#ffffff"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onBackgroundOpacityChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.backgroundOpacity"
				},
				{
					"name": "event",
					"x-alternative": "backgroundOpacity"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions backgrounds.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "opacity",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Opacity"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onTextAlignChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.textAlign"
				},
				{
					"name": "event",
					"x-alternative": "textAlign"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "alignment",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/HorizontalAlignment"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": "center"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": "left"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onTextAlignVerticalChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.textAlignVertical"
				},
				{
					"name": "event",
					"x-alternative": "textAlignVertical"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "alignment",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/VerticalAlignment"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": "middle"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": "top"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onWindowColorChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.windowColor"
				},
				{
					"name": "event",
					"x-alternative": "windowColor"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window color for displaying closed-captions, .",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "color",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Color"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "#000000"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": "white"
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onWindowOpacityChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.windowOpacity"
				},
				{
					"name": "event",
					"x-alternative": "windowOpacity"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window opacity for displaying closed-captions backgrounds.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "opacity",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/Opacity"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 99
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": 100
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.onPreferredLanguagesChanged",
			"summary": "A prioritized list of ISO 639-2/B codes for the preferred closed captions languages on this device.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "ClosedCaptions.preferredLanguages"
				},
				{
					"name": "event",
					"x-alternative": "preferredLanguages"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"result": {
				"name": "languages",
				"summary": "the preferred closed captions languages",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "array",
							"items": {
								"$ref": "#/x-schemas/Localization/ISO639_2Language"
							}
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": [
							"spa",
							"eng"
						]
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": [
							"eng",
							"spa"
						]
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setEnabled",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "enabled"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "Whether or not closed-captions are enabled.",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontFamily",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontFamily"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font family for displaying closed-captions.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/FontFamily"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "monospaced_sanserif"
						}
					],
					"result": {
						"name": "family",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "cursive"
						}
					],
					"result": {
						"name": "family",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "family",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontSize",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontSize"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font size for displaying closed-captions.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/FontSize"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": 1
						}
					],
					"result": {
						"name": "size",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": 1
						}
					],
					"result": {
						"name": "size",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "size",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontColor",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontColor"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font color for displaying closed-captions.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "#ffffff"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "#000000"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontEdge",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontEdge"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge style for displaying closed-captions.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/FontEdge"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "none"
						}
					],
					"result": {
						"name": "edge",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "uniform"
						}
					],
					"result": {
						"name": "edge",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "edge",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontEdgeColor",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontEdgeColor"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred font edge color for displaying closed-captions.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "#000000"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "#ffffff"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setFontOpacity",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "fontOpacity"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions characters.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": 99
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": 100
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setBackgroundColor",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "backgroundColor"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred background color for displaying closed-captions, .",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "#000000"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "#ffffff"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setBackgroundOpacity",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "backgroundOpacity"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred opacity for displaying closed-captions backgrounds.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": 99
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": 100
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setTextAlign",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "textAlign"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/HorizontalAlignment"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "center"
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "left"
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setTextAlignVertical",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "textAlignVertical"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred horizontal alignment for displaying closed-captions characters.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/VerticalAlignment"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "middle"
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "top"
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "alignment",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setWindowColor",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "windowColor"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window color for displaying closed-captions, .",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "#000000"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "white"
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "color",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setWindowOpacity",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "windowOpacity"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"summary": "The preferred window opacity for displaying closed-captions backgrounds.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": 99
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": 100
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				},
				{
					"name": "Default example #3",
					"params": [
						{
							"name": "value",
							"value": null
						}
					],
					"result": {
						"name": "opacity",
						"value": null
					}
				}
			]
		},
		{
			"name": "ClosedCaptions.setPreferredLanguages",
			"summary": "A prioritized list of ISO 639-2/B codes for the preferred closed captions languages on this device.",
			"params": [
				{
					"name": "value",
					"summary": "the preferred closed captions languages",
					"schema": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Localization/ISO639_2Language"
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "preferredLanguages"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:closedcaptions"
					]
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "value",
							"value": [
								"spa",
								"eng"
							]
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "value",
							"value": [
								"eng",
								"spa"
							]
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "AudioDescriptions.enabled",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:audiodescriptions"
					]
				}
			],
			"summary": "Whether or not audio-descriptions are enabled.",
			"params": [],
			"result": {
				"name": "enabled",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "AudioDescriptions.onEnabledChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "AudioDescriptions.enabled"
				},
				{
					"name": "event",
					"x-alternative": "enabled"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:audiodescriptions"
					]
				}
			],
			"summary": "Whether or not audio-descriptions are enabled.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "enabled",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "AudioDescriptions.setEnabled",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "enabled"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:audiodescriptions"
					]
				}
			],
			"summary": "Whether or not audio-descriptions are enabled.",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.enabled",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "Whether or not voice-guidance is enabled.",
			"params": [],
			"result": {
				"name": "enabled",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Voice guidance enabled",
					"params": [],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Voice guidance disabled",
					"params": [],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.navigationHints",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The user's preference for whether additional navigation hints should be synthesized.",
			"params": [],
			"result": {
				"name": "navigationHints",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Navigation hints enabled",
					"params": [],
					"result": {
						"name": "navigationHints",
						"value": true
					}
				},
				{
					"name": "Navigation hints disabled",
					"params": [],
					"result": {
						"name": "navigationHints",
						"value": false
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.rate",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The rate at which voice guidance speech will be read back to the user.",
			"params": [],
			"result": {
				"name": "rate",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/SpeechRate"
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [],
					"result": {
						"name": "rate",
						"value": 1
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [],
					"result": {
						"name": "rate",
						"value": 2
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.speed",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "deprecated",
					"x-alternative": "VoiceGuidance.rate()",
					"x-since": "1.5.0"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The speed at which voice guidance speech will be read back to the user.",
			"params": [],
			"result": {
				"name": "speed",
				"schema": {
					"$ref": "#/x-schemas/Accessibility/SpeechRate"
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [],
					"result": {
						"name": "speed",
						"value": 1
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [],
					"result": {
						"name": "speed",
						"value": 2
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.onEnabledChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "VoiceGuidance.enabled"
				},
				{
					"name": "event",
					"x-alternative": "enabled"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "Whether or not voice-guidance is enabled.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "enabled",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Voice guidance enabled",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Voice guidance disabled",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.onNavigationHintsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "VoiceGuidance.navigationHints"
				},
				{
					"name": "event",
					"x-alternative": "navigationHints"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The user's preference for whether additional navigation hints should be synthesized.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "navigationHints",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Navigation hints enabled",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "navigationHints",
						"value": true
					}
				},
				{
					"name": "Navigation hints disabled",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "navigationHints",
						"value": false
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.onRateChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "VoiceGuidance.rate"
				},
				{
					"name": "event",
					"x-alternative": "rate"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The rate at which voice guidance speech will be read back to the user.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "rate",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/SpeechRate"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "rate",
						"value": 1
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "rate",
						"value": 2
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.onSpeedChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "VoiceGuidance.speed"
				},
				{
					"name": "event",
					"x-alternative": "speed"
				},
				{
					"name": "deprecated",
					"x-alternative": "VoiceGuidance.rate()",
					"x-since": "1.5.0"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The speed at which voice guidance speech will be read back to the user.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "speed",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Accessibility/SpeechRate"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "speed",
						"value": 1
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "speed",
						"value": 2
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.setEnabled",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "enabled"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "Whether or not voice-guidance is enabled.",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Voice guidance enabled",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				},
				{
					"name": "Voice guidance disabled",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.setNavigationHints",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "navigationHints"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The user's preference for whether additional navigation hints should be synthesized.",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Navigation hints enabled",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "navigationHints",
						"value": null
					}
				},
				{
					"name": "Navigation hints disabled",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "navigationHints",
						"value": null
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.setRate",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "rate"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The rate at which voice guidance speech will be read back to the user.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/SpeechRate"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [
						{
							"name": "value",
							"value": 1
						}
					],
					"result": {
						"name": "rate",
						"value": null
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [
						{
							"name": "value",
							"value": 2
						}
					],
					"result": {
						"name": "rate",
						"value": null
					}
				}
			]
		},
		{
			"name": "VoiceGuidance.setSpeed",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "speed"
				},
				{
					"name": "deprecated",
					"x-alternative": "VoiceGuidance.rate()",
					"x-since": "1.5.0"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:accessibility:voiceguidance"
					]
				}
			],
			"summary": "The speed at which voice guidance speech will be read back to the user.",
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Accessibility/SpeechRate"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Normal voice guidance speech rate",
					"params": [
						{
							"name": "value",
							"value": 1
						}
					],
					"result": {
						"name": "speed",
						"value": null
					}
				},
				{
					"name": "Doubled voice guidance speech rate",
					"params": [
						{
							"name": "value",
							"value": 2
						}
					],
					"result": {
						"name": "speed",
						"value": null
					}
				}
			]
		},
		{
			"name": "Device.name",
			"summary": "The human readable name of the device",
			"params": [],
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:device:name"
					]
				}
			],
			"result": {
				"name": "value",
				"summary": "the device friendly-name",
				"schema": {
					"type": "string"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "Living Room"
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "Default Result",
						"value": "Kitchen"
					}
				}
			]
		},
		{
			"name": "Device.onDeviceNameChanged",
			"tags": [
				{
					"name": "event"
				},
				{
					"name": "deprecated",
					"x-since": "0.6.0",
					"x-alternative": "Device.name()"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:device:name"
					]
				}
			],
			"summary": "Get the human readable name of the device",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "value",
				"summary": "the device friendly-name",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "string"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Getting the device name",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "Living Room"
					}
				}
			]
		},
		{
			"name": "Device.provision",
			"summary": "Used by a distributor to push provision info to firebolt.",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:account:id",
						"xrn:firebolt:capability:device:id",
						"xrn:firebolt:capability:device:distributor"
					]
				}
			],
			"params": [
				{
					"name": "accountId",
					"summary": "The id of the account that is device is attached to in the back office.",
					"required": true,
					"schema": {
						"type": "string"
					}
				},
				{
					"name": "deviceId",
					"summary": "The id of the device in the back office.",
					"required": true,
					"schema": {
						"type": "string"
					}
				},
				{
					"name": "distributorId",
					"summary": "The id of the distributor in the back office.",
					"schema": {
						"type": "string"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "accountId",
							"value": "12345678910"
						},
						{
							"name": "deviceId",
							"value": "987654321111"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				},
				{
					"name": "With distributor id",
					"params": [
						{
							"name": "accountId",
							"value": "12345678910"
						},
						{
							"name": "deviceId",
							"value": "987654321111"
						},
						{
							"name": "distributorId",
							"value": "global_partner"
						}
					],
					"result": {
						"name": "partnerResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Device.onNameChanged",
			"summary": "The human readable name of the device",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Device.name"
				},
				{
					"name": "event",
					"x-alternative": "name"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:device:name"
					]
				}
			],
			"result": {
				"name": "value",
				"summary": "the device friendly-name",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "string"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "Living Room"
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": "Kitchen"
					}
				}
			]
		},
		{
			"name": "Device.setName",
			"summary": "The human readable name of the device",
			"params": [
				{
					"name": "value",
					"summary": "the device friendly-name",
					"schema": {
						"type": "string"
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "name"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:device:name"
					]
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": "Living Room"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": "Kitchen"
						}
					],
					"result": {
						"name": "Default Result",
						"value": null
					}
				}
			]
		},
		{
			"name": "UserGrants.app",
			"summary": "Get all granted and denied user grants for the given app",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "appId",
					"schema": {
						"type": "string"
					},
					"required": true
				}
			],
			"result": {
				"name": "info",
				"summary": "The list of grants for this app",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/components/schemas/GrantInfo"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "appId",
							"value": "certapp"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": [
							{
								"app": {
									"id": "certapp",
									"title": "Firebolt Certification"
								},
								"state": "granted",
								"capability": "xrn:firebolt:capability:data:app-usage",
								"role": "use",
								"lifespan": "seconds",
								"expires": "2022-12-14T20:20:39+00:00"
							},
							{
								"app": {
									"id": "certapp",
									"title": "Firebolt Certification"
								},
								"state": "denied",
								"capability": "xrn:firebolt:capability:localization:postal-code",
								"role": "use",
								"lifespan": "appActive"
							}
						]
					}
				}
			]
		},
		{
			"name": "UserGrants.device",
			"summary": "Get all granted and denied user grants for the device",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [],
			"result": {
				"name": "info",
				"summary": "The list of grants for the device",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/components/schemas/GrantInfo"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "defaultResult",
						"value": [
							{
								"state": "granted",
								"capability": "xrn:firebolt:capability:localization:postal-code",
								"role": "use",
								"lifespan": "powerActive"
							}
						]
					}
				}
			]
		},
		{
			"name": "UserGrants.capability",
			"summary": "Get all granted and denied user grants for the given capability",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "capability",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"required": true
				}
			],
			"result": {
				"name": "info",
				"summary": "The list of grants associated with the given capability",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/components/schemas/GrantInfo"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "capability",
							"value": "xrn:firebolt:capability:localization:postal-code"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": [
							{
								"state": "granted",
								"capability": "xrn:firebolt:capability:localization:postal-code",
								"role": "use",
								"lifespan": "powerActive"
							}
						]
					}
				}
			]
		},
		{
			"name": "UserGrants.grant",
			"summary": "Grants a given capability to a specific app, if appropriate. Calling this results in a persisted active grant that lasts for the duration of the grant policy lifespan. ",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "role",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Role"
					},
					"required": true
				},
				{
					"name": "capability",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"required": true
				},
				{
					"name": "options",
					"schema": {
						"$ref": "#/components/schemas/GrantModificationOptions"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "role",
							"value": "use"
						},
						{
							"name": "capability",
							"value": "xrn:firebolt:capability:localization:postal-code"
						},
						{
							"name": "options",
							"value": {
								"appId": "certapp"
							}
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "UserGrants.deny",
			"summary": "Denies a given capability, to a specific app if appropriate. Calling this results in a persisted Denied Grant that lasts for the duration of the Grant Policy lifespan. ",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "role",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Role"
					},
					"required": true
				},
				{
					"name": "capability",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"required": true
				},
				{
					"name": "options",
					"schema": {
						"$ref": "#/components/schemas/GrantModificationOptions"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "role",
							"value": "use"
						},
						{
							"name": "capability",
							"value": "xrn:firebolt:capability:localization:postal-code"
						},
						{
							"name": "options",
							"value": {
								"appId": "certapp"
							}
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "UserGrants.clear",
			"summary": "Clears the grant for a given capability, to a specific app if appropriate. Calling this results in a persisted Denied Grant that lasts for the duration of the Grant Policy lifespan. ",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "role",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Role"
					},
					"required": true
				},
				{
					"name": "capability",
					"schema": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"required": true
				},
				{
					"name": "options",
					"schema": {
						"$ref": "#/components/schemas/GrantModificationOptions"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "role",
							"value": "use"
						},
						{
							"name": "capability",
							"value": "xrn:firebolt:capability:localization:postal-code"
						},
						{
							"name": "options",
							"value": {
								"appId": "certapp"
							}
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "UserGrants.request",
			"summary": "Requests Firebolt to carry out a set of user grants for a given application such that the user grant provider is notified or an existing user grant is reused.",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:grants:state"
					]
				}
			],
			"params": [
				{
					"name": "appId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "permissions",
					"schema": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Capabilities/Permission"
						},
						"minItems": 1
					},
					"required": true
				},
				{
					"name": "options",
					"summary": "Request options",
					"schema": {
						"$ref": "#/components/schemas/RequestOptions"
					},
					"required": false
				}
			],
			"result": {
				"name": "info",
				"summary": "The result of all grants requested by this",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/components/schemas/GrantInfo"
					}
				}
			},
			"examples": [
				{
					"name": "Default result #1",
					"params": [
						{
							"name": "appId",
							"value": "certapp"
						},
						{
							"name": "permissions",
							"value": [
								{
									"role": "use",
									"capability": "xrn:firebolt:capability:localization:postal-code"
								}
							]
						}
					],
					"result": {
						"name": "defaultResult",
						"value": [
							{
								"app": {
									"id": "certapp",
									"title": "Certification App"
								},
								"state": "granted",
								"capability": "xrn:firebolt:capability:localization:postal-code",
								"role": "use",
								"lifespan": "powerActive"
							}
						]
					}
				},
				{
					"name": "Default result #2",
					"params": [
						{
							"name": "appId",
							"value": "certapp"
						},
						{
							"name": "permissions",
							"value": [
								{
									"role": "use",
									"capability": "xrn:firebolt:capability:localization:postal-code"
								}
							]
						},
						{
							"name": "options",
							"value": {
								"force": true
							}
						}
					],
					"result": {
						"name": "defaultResult",
						"value": [
							{
								"app": {
									"id": "certapp",
									"title": "Certification App"
								},
								"state": "granted",
								"capability": "xrn:firebolt:capability:localization:postal-code",
								"role": "use",
								"lifespan": "powerActive"
							}
						]
					}
				}
			]
		},
		{
			"name": "Privacy.allowResumePoints",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content to show in the main experience",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowUnentitledResumePoints",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content from unentitled providers to show in the main experience",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowWatchHistory",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their watch history from all sources to show in the main experience",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowProductAnalytics",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data can be used for analytics about the product",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowPersonalization",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowUnentitledPersonalization",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations for unentitled content",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowRemoteDiagnostics",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their personal data to be included in diagnostic telemetry. This also allows whether device logs can be remotely accessed from the client device",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowPrimaryContentAdTargeting",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in the primary experience",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowPrimaryBrowseAdTargeting",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while browsing in the primary experience",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowAppContentAdTargeting",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in apps",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowACRCollection",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their automatic content recognition data to be collected",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.allowCameraAnalytics",
			"tags": [
				{
					"name": "property",
					"x-allow-value": true
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows data from their camera to be used for Product Analytics",
			"params": [],
			"result": {
				"name": "allow",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.settings",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Gets the allowed value for all privacy settings",
			"params": [],
			"result": {
				"name": "settings",
				"schema": {
					"$ref": "#/components/schemas/PrivacySettings"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "settings",
						"value": {
							"allowACRCollection": true,
							"allowResumePoints": false,
							"allowAppContentAdTargeting": false,
							"allowCameraAnalytics": true,
							"allowPersonalization": true,
							"allowPrimaryBrowseAdTargeting": false,
							"allowPrimaryContentAdTargeting": false,
							"allowProductAnalytics": true,
							"allowRemoteDiagnostics": true,
							"allowUnentitledPersonalization": true,
							"allowUnentitledResumePoints": false,
							"allowWatchHistory": true
						}
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowResumePointsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowResumePoints"
				},
				{
					"name": "event",
					"x-alternative": "allowResumePoints"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content to show in the main experience",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowUnentitledResumePointsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowUnentitledResumePoints"
				},
				{
					"name": "event",
					"x-alternative": "allowUnentitledResumePoints"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content from unentitled providers to show in the main experience",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowWatchHistoryChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowWatchHistory"
				},
				{
					"name": "event",
					"x-alternative": "allowWatchHistory"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their watch history from all sources to show in the main experience",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowProductAnalyticsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowProductAnalytics"
				},
				{
					"name": "event",
					"x-alternative": "allowProductAnalytics"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data can be used for analytics about the product",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowPersonalizationChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowPersonalization"
				},
				{
					"name": "event",
					"x-alternative": "allowPersonalization"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowUnentitledPersonalizationChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowUnentitledPersonalization"
				},
				{
					"name": "event",
					"x-alternative": "allowUnentitledPersonalization"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations for unentitled content",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowRemoteDiagnosticsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowRemoteDiagnostics"
				},
				{
					"name": "event",
					"x-alternative": "allowRemoteDiagnostics"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their personal data to be included in diagnostic telemetry. This also allows whether device logs can be remotely accessed from the client device",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowPrimaryContentAdTargetingChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowPrimaryContentAdTargeting"
				},
				{
					"name": "event",
					"x-alternative": "allowPrimaryContentAdTargeting"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in the primary experience",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowPrimaryBrowseAdTargetingChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowPrimaryBrowseAdTargeting"
				},
				{
					"name": "event",
					"x-alternative": "allowPrimaryBrowseAdTargeting"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while browsing in the primary experience",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowAppContentAdTargetingChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowAppContentAdTargeting"
				},
				{
					"name": "event",
					"x-alternative": "allowAppContentAdTargeting"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in apps",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowACRCollectionChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowACRCollection"
				},
				{
					"name": "event",
					"x-alternative": "allowACRCollection"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their automatic content recognition data to be collected",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.onAllowCameraAnalyticsChanged",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Privacy.allowCameraAnalytics"
				},
				{
					"name": "event",
					"x-alternative": "allowCameraAnalytics"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows data from their camera to be used for Product Analytics",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "allow",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": true
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": false
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowResumePoints",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowResumePoints"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content to show in the main experience",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowUnentitledResumePoints",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowUnentitledResumePoints"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows resume points for content from unentitled providers to show in the main experience",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowWatchHistory",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowWatchHistory"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their watch history from all sources to show in the main experience",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowProductAnalytics",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowProductAnalytics"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data can be used for analytics about the product",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowPersonalization",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowPersonalization"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowUnentitledPersonalization",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowUnentitledPersonalization"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their usage data to be used for personalization and recommendations for unentitled content",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowRemoteDiagnostics",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowRemoteDiagnostics"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their personal data to be included in diagnostic telemetry. This also allows whether device logs can be remotely accessed from the client device",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowPrimaryContentAdTargeting",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowPrimaryContentAdTargeting"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in the primary experience",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowPrimaryBrowseAdTargeting",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowPrimaryBrowseAdTargeting"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while browsing in the primary experience",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowAppContentAdTargeting",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowAppContentAdTargeting"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows ads to be targeted to the user while watching content in apps",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowACRCollection",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowACRCollection"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows their automatic content recognition data to be collected",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Privacy.setAllowCameraAnalytics",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "allowCameraAnalytics"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:privacy:settings"
					]
				}
			],
			"summary": "Whether the user allows data from their camera to be used for Product Analytics",
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default example #1",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				},
				{
					"name": "Default example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "allow",
						"value": null
					}
				}
			]
		},
		{
			"name": "Advertising.skipRestriction",
			"summary": "Set the value for AdPolicy.skipRestriction",
			"tags": [
				{
					"name": "property"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:advertising:configuration"
					]
				}
			],
			"params": [],
			"result": {
				"name": "result",
				"schema": {
					"$ref": "#/x-schemas/Advertising/SkipRestriction"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "result",
						"value": "none"
					}
				},
				{
					"name": "Additional Example",
					"params": [],
					"result": {
						"name": "result",
						"value": "all"
					}
				}
			]
		},
		{
			"name": "Advertising.resetIdentifier",
			"summary": "Resets a user's identifier in the ad platform so that the advertising id that apps get will be a new value",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:advertising:identifier"
					]
				}
			],
			"params": [],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Advertising.onSkipRestrictionChanged",
			"summary": "Set the value for AdPolicy.skipRestriction",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "Advertising.skipRestriction"
				},
				{
					"name": "event",
					"x-alternative": "skipRestriction"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:advertising:configuration"
					]
				}
			],
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/x-schemas/Advertising/SkipRestriction"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "result",
						"value": "none"
					}
				},
				{
					"name": "Additional Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "result",
						"value": "all"
					}
				}
			]
		},
		{
			"name": "Advertising.setSkipRestriction",
			"summary": "Set the value for AdPolicy.skipRestriction",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "skipRestriction"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:advertising:configuration"
					]
				}
			],
			"params": [
				{
					"name": "value",
					"schema": {
						"$ref": "#/x-schemas/Advertising/SkipRestriction"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "value",
							"value": "none"
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				},
				{
					"name": "Additional Example",
					"params": [
						{
							"name": "value",
							"value": "all"
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Account.session",
			"summary": "Used by a distributor to push Session token to firebolt.",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:token:account"
					]
				}
			],
			"params": [
				{
					"name": "token",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/Token"
					}
				},
				{
					"name": "expiresIn",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/Expiry"
					}
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "token",
							"value": "RmlyZWJvbHQgTWFuYWdlIFNESyBSb2NrcyEhIQ=="
						},
						{
							"name": "expiresIn",
							"value": 84000
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.onRequestStandard",
			"summary": "Registers as a provider for when the user should be shown a standard keyboard.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "event",
					"x-response": {
						"type": "string",
						"examples": [
							"username"
						]
					},
					"x-error": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					}
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true
				}
			],
			"result": {
				"name": "sessionRequest",
				"summary": "The request to start a keyboard session",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/KeyboardProviderRequest"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": {
							"correlationId": "abc",
							"parameters": {
								"message": "Enter your user name."
							}
						}
					}
				}
			]
		},
		{
			"name": "Keyboard.onRequestPassword",
			"summary": "Registers as a provider for when the user should be shown a password keyboard, with dots for each character entered.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "event",
					"x-response": {
						"type": "string",
						"examples": [
							"password"
						]
					},
					"x-error": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					}
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true
				}
			],
			"result": {
				"name": "sessionRequest",
				"summary": "The request to start a keyboard session",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/KeyboardProviderRequest"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": {
							"correlationId": "abc",
							"parameters": {
								"message": "Enter your user name."
							}
						}
					}
				}
			]
		},
		{
			"name": "Keyboard.onRequestEmail",
			"summary": "Registers as a provider for when the user should be shown a keyboard optimized for email address entry.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "event",
					"x-response": {
						"type": "string",
						"examples": [
							"email@address.com"
						]
					},
					"x-error": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					}
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true
				}
			],
			"result": {
				"name": "sessionRequest",
				"summary": "The request to start a keyboard session",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/KeyboardProviderRequest"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": {
							"correlationId": "abc",
							"parameters": {
								"message": "Enter your user name."
							}
						}
					}
				}
			]
		},
		{
			"name": "Keyboard.standardFocus",
			"summary": "Internal API for Standard Provider to request focus for UX purposes.",
			"params": [],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-allow-focus-for": "onRequestStandard"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.passwordFocus",
			"summary": "Internal API for Password Provider to request focus for UX purposes.",
			"params": [],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-allow-focus-for": "onRequestPassword"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.emailFocus",
			"summary": "Internal API for Email Provider to request focus for UX purposes.",
			"params": [],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-allow-focus-for": "onRequestEmail"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.standardResponse",
			"summary": "Internal API for Standard Provider to send back response.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "result",
					"schema": {
						"type": "string",
						"examples": [
							"username"
						]
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-response-for": "onRequestStandard"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": "username"
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.standardError",
			"summary": "Internal API for Standard Provider to send back error.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "error",
					"schema": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-error-for": "onRequestStandard"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example 1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "error",
							"value": {
								"code": 1,
								"message": "Error"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.passwordResponse",
			"summary": "Internal API for Password Provider to send back response.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "result",
					"schema": {
						"type": "string",
						"examples": [
							"password"
						]
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-response-for": "onRequestPassword"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": "password"
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.passwordError",
			"summary": "Internal API for Password Provider to send back error.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "error",
					"schema": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-error-for": "onRequestPassword"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example 1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "error",
							"value": {
								"code": 1,
								"message": "Error"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.emailResponse",
			"summary": "Internal API for Email Provider to send back response.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "result",
					"schema": {
						"type": "string",
						"examples": [
							"email@address.com"
						]
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-response-for": "onRequestEmail"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": "email@address.com"
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "Keyboard.emailError",
			"summary": "Internal API for Email Provider to send back error.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "error",
					"schema": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:input:keyboard",
					"x-allow-focus": true,
					"x-error-for": "onRequestEmail"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example 1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "error",
							"value": {
								"code": 1,
								"message": "Error"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "AcknowledgeChallenge.onRequestChallenge",
			"summary": "Registers as a provider for when the user should be challenged in order to confirm access to a capability",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "event",
					"x-response": {
						"$ref": "#/components/schemas/GrantResult"
					},
					"x-error": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					}
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:acknowledgechallenge",
					"x-allow-focus": true
				}
			],
			"result": {
				"name": "challenge",
				"summary": "The request to challenge the user",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/ChallengeProviderRequest"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": {
							"correlationId": "abc",
							"parameters": {
								"capability": "xrn:firebolt:capability:localization::postal-code",
								"requestor": {
									"id": "ReferenceApp",
									"name": "Firebolt Reference App"
								}
							}
						}
					}
				}
			]
		},
		{
			"name": "AcknowledgeChallenge.challengeFocus",
			"summary": "Internal API for Challenge Provider to request focus for UX purposes.",
			"params": [],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:acknowledgechallenge",
					"x-allow-focus": true,
					"x-allow-focus-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "AcknowledgeChallenge.challengeResponse",
			"summary": "Internal API for Challenge Provider to send back response.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "result",
					"schema": {
						"$ref": "#/components/schemas/GrantResult"
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:acknowledgechallenge",
					"x-allow-focus": true,
					"x-response-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example #1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": true
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				},
				{
					"name": "Example #2",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": false
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				},
				{
					"name": "Example #3",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": null
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "AcknowledgeChallenge.challengeError",
			"summary": "Internal API for Challenge Provider to send back error.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "error",
					"schema": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:acknowledgechallenge",
					"x-allow-focus": true,
					"x-error-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example 1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "error",
							"value": {
								"code": 1,
								"message": "Error"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "PinChallenge.onRequestChallenge",
			"summary": "Registers as a provider for when the user should be challenged in order to confirm access to a capability through a pin prompt",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "event",
					"x-response": {
						"$ref": "#/components/schemas/PinChallengeResult",
						"examples": [
							{
								"granted": true,
								"reason": "correctPin"
							},
							{
								"granted": false,
								"reason": "exceededPinFailures"
							},
							{
								"granted": null,
								"reason": "cancelled"
							}
						]
					},
					"x-error": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					}
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:pinchallenge",
					"x-allow-focus": true
				}
			],
			"result": {
				"name": "challenge",
				"summary": "The request to challenge the user",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/PinChallengeProviderRequest"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Result",
						"value": {
							"correlationId": "abc",
							"parameters": {
								"capability": "xrn:firebolt:capability:commerce::purchase",
								"requestor": {
									"id": "ReferenceApp",
									"name": "Firebolt Reference App"
								},
								"pinSpace": "purchase"
							}
						}
					}
				}
			]
		},
		{
			"name": "PinChallenge.challengeFocus",
			"summary": "Internal API for Challenge Provider to request focus for UX purposes.",
			"params": [],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:pinchallenge",
					"x-allow-focus": true,
					"x-allow-focus-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example",
					"params": [],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "PinChallenge.challengeResponse",
			"summary": "Internal API for Challenge Provider to send back response.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "result",
					"schema": {
						"$ref": "#/components/schemas/PinChallengeResult",
						"examples": [
							{
								"granted": true,
								"reason": "correctPin"
							},
							{
								"granted": false,
								"reason": "exceededPinFailures"
							},
							{
								"granted": null,
								"reason": "cancelled"
							}
						]
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:pinchallenge",
					"x-allow-focus": true,
					"x-response-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example #1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": true,
								"reason": "correctPin"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				},
				{
					"name": "Example #2",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": false,
								"reason": "exceededPinFailures"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				},
				{
					"name": "Example #3",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "result",
							"value": {
								"granted": null,
								"reason": "cancelled"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "PinChallenge.challengeError",
			"summary": "Internal API for Challenge Provider to send back error.",
			"params": [
				{
					"name": "correlationId",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "error",
					"schema": {
						"type": "object",
						"additionalProperties": false,
						"required": [
							"code",
							"message"
						],
						"properties": {
							"code": {
								"title": "errorObjectCode",
								"description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.",
								"type": "integer"
							},
							"message": {
								"title": "errorObjectMessage",
								"description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.",
								"type": "string"
							},
							"data": {
								"title": "errorObjectData",
								"description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)."
							}
						}
					},
					"required": true
				}
			],
			"tags": [
				{
					"name": "rpc-only"
				},
				{
					"name": "capabilities",
					"x-provides": "xrn:firebolt:capability:usergrant:pinchallenge",
					"x-allow-focus": true,
					"x-error-for": "onRequestChallenge"
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Example 1",
					"params": [
						{
							"name": "correlationId",
							"value": "123"
						},
						{
							"name": "error",
							"value": {
								"code": 1,
								"message": "Error"
							}
						}
					],
					"result": {
						"name": "result",
						"value": null
					}
				}
			]
		},
		{
			"name": "SecureStorage.setForApp",
			"summary": "Set or update a secure data value for a specific app.",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:storage:secure"
					]
				}
			],
			"params": [
				{
					"name": "appId",
					"summary": "appId for which value is being set",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "scope",
					"summary": "The scope of the data key",
					"schema": {
						"$ref": "#/components/schemas/StorageScope"
					},
					"required": true
				},
				{
					"name": "key",
					"summary": "Key to set",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "value",
					"summary": "Value to set",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "options",
					"summary": "Optional parameters to set",
					"schema": {
						"$ref": "#/components/schemas/StorageOptions"
					},
					"required": false
				}
			],
			"result": {
				"name": "success",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Set a refresh token with name authRefreshToken with optional parameter for appId foo",
					"params": [
						{
							"name": "appId",
							"value": "foo"
						},
						{
							"name": "scope",
							"value": "device"
						},
						{
							"name": "key",
							"value": "authRefreshToken"
						},
						{
							"name": "value",
							"value": "VGhpcyBub3QgYSByZWFsIHRva2VuLgo="
						},
						{
							"name": "options",
							"value": {
								"ttl": 600
							}
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				},
				{
					"name": "Set a refresh token with name authRefreshToken without optional parameter for appId foo",
					"params": [
						{
							"name": "appId",
							"value": "foo"
						},
						{
							"name": "scope",
							"value": "account"
						},
						{
							"name": "key",
							"value": "authRefreshToken"
						},
						{
							"name": "value",
							"value": "VGhpcyBub3QgYSByZWFsIHRva2VuLgo="
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "SecureStorage.removeForApp",
			"summary": "Removes single data value for a specific app.",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:storage:secure"
					]
				}
			],
			"params": [
				{
					"name": "appId",
					"summary": "appId for which values are removed",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "scope",
					"summary": "The scope of the key/value",
					"schema": {
						"$ref": "#/components/schemas/StorageScope"
					},
					"required": true
				},
				{
					"name": "key",
					"summary": "Key to remove",
					"schema": {
						"type": "string"
					},
					"required": true
				}
			],
			"result": {
				"name": "success",
				"summary": "",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Removes authRefreshToken for appId foo",
					"params": [
						{
							"name": "appId",
							"value": "foo"
						},
						{
							"name": "scope",
							"value": "account"
						},
						{
							"name": "key",
							"value": "authRefreshToken"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "SecureStorage.clearForApp",
			"summary": "Clears all the secure data values for a specific app",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:storage:secure"
					]
				}
			],
			"params": [
				{
					"name": "appId",
					"summary": "appId for which values are removed",
					"schema": {
						"type": "string"
					},
					"required": true
				},
				{
					"name": "scope",
					"summary": "The scope of the key/value",
					"schema": {
						"$ref": "#/components/schemas/StorageScope"
					},
					"required": true
				}
			],
			"result": {
				"name": "success",
				"summary": "",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Clears all the secure data values for appId foo",
					"params": [
						{
							"name": "appId",
							"value": "foo"
						},
						{
							"name": "scope",
							"value": "account"
						}
					],
					"result": {
						"name": "defaultResult",
						"value": null
					}
				}
			]
		},
		{
			"name": "Discovery.onSignIn",
			"tags": [
				{
					"name": "event"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:discovery:sign-in-status"
					]
				}
			],
			"summary": "Listen to events from all apps that call Discovery.signIn",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "event",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "object",
							"properties": {
								"appId": {
									"type": "string"
								}
							},
							"required": [
								"appId"
							]
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Event",
						"value": {
							"appId": "firecert"
						}
					}
				}
			]
		},
		{
			"name": "Discovery.onSignOut",
			"tags": [
				{
					"name": "event"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:discovery:sign-in-status"
					]
				}
			],
			"summary": "Listen to events from all apps that call Discovery.signOut",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "event",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "object",
							"properties": {
								"appId": {
									"type": "string"
								}
							},
							"required": [
								"appId"
							]
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "Default Event",
						"value": {
							"appId": "firecert"
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.ports",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Retrieve a list of HDMI input ports.",
			"params": [],
			"result": {
				"name": "ports",
				"schema": {
					"type": "array",
					"items": {
						"$ref": "#/components/schemas/HDMIInputPort"
					}
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "ports",
						"value": [
							{
								"port": "HDMI1",
								"connected": true,
								"signal": "stable",
								"arcCapable": true,
								"arcConnected": true,
								"edidVersion": "2.0",
								"autoLowLatencyModeCapable": true,
								"autoLowLatencyModeSignalled": true
							}
						]
					}
				}
			]
		},
		{
			"name": "HDMIInput.port",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Retrieve a specific HDMI input port.",
			"params": [
				{
					"name": "portId",
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"required": true
				}
			],
			"result": {
				"name": "port",
				"schema": {
					"$ref": "#/components/schemas/HDMIInputPort"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "portId",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "ports",
						"value": {
							"port": "HDMI1",
							"connected": true,
							"signal": "stable",
							"arcCapable": true,
							"arcConnected": true,
							"edidVersion": "2.0",
							"autoLowLatencyModeCapable": true,
							"autoLowLatencyModeSignalled": true
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.open",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Opens the HDMI Port allowing it to be the active source device. Incase there is a different HDMI portId already set as the active source, this call would stop the older portId before opening the given portId.",
			"params": [
				{
					"name": "portId",
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"required": true
				}
			],
			"result": {
				"name": "port",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example for open",
					"params": [
						{
							"name": "portId",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "port",
						"value": null
					}
				}
			]
		},
		{
			"name": "HDMIInput.close",
			"tags": [
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Closes the given HDMI Port if it is the current active source for HDMI Input. If there was no active source, then there would no action taken on the device.",
			"params": [],
			"result": {
				"name": "port",
				"schema": {
					"const": null
				}
			},
			"examples": [
				{
					"name": "Default Example for stop",
					"params": [],
					"result": {
						"name": "port",
						"value": null
					}
				}
			]
		},
		{
			"name": "HDMIInput.onConnectionChanged",
			"tags": [
				{
					"name": "event"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Notification for when any HDMI port has a connection physically engaged or disengaged.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "info",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/ConnectionChangedInfo"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "info",
						"value": {
							"port": "HDMI1",
							"connected": true
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.onSignalChanged",
			"tags": [
				{
					"name": "event"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"summary": "Notification for when any HDMI port has it's signal status changed.",
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "info",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/SignalChangedInfo"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "info",
						"value": {
							"port": "HDMI1",
							"signal": "stable"
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.lowLatencyMode",
			"summary": "Property for the low latency mode setting.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				},
				{
					"name": "property"
				}
			],
			"params": [],
			"result": {
				"name": "enabled",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default Example #2",
					"params": [],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "HDMIInput.onAutoLowLatencyModeSignalChanged",
			"summary": "Notification for changes to ALLM status of any input device.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				},
				{
					"name": "event"
				}
			],
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "info",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/AutoLowLatencyModeSignalChangedInfo"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "info",
						"value": {
							"port": "HDMI1",
							"autoLowLatencyModeSignalled": true
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.autoLowLatencyModeCapable",
			"summary": "Property for each port auto low latency mode setting.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				},
				{
					"name": "property",
					"x-subscriber-type": "global"
				}
			],
			"params": [
				{
					"name": "port",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					}
				}
			],
			"result": {
				"name": "enabled",
				"schema": {
					"type": "boolean"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "HDMIInput.edidVersion",
			"summary": "Property for each port's active EDID version.",
			"tags": [
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				},
				{
					"name": "property"
				}
			],
			"params": [
				{
					"name": "port",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					}
				}
			],
			"result": {
				"name": "edidVersion",
				"schema": {
					"$ref": "#/components/schemas/EDIDVersion"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "edidVersion",
						"value": "2.0"
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						}
					],
					"result": {
						"name": "edidVersion",
						"value": "1.4"
					}
				}
			]
		},
		{
			"name": "HDMIInput.onLowLatencyModeChanged",
			"summary": "Property for the low latency mode setting.",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "HDMIInput.lowLatencyMode"
				},
				{
					"name": "event",
					"x-alternative": "lowLatencyMode"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "enabled",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": true
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": false
					}
				}
			]
		},
		{
			"name": "HDMIInput.onAutoLowLatencyModeCapableChanged",
			"summary": "Property for each port auto low latency mode setting.",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "HDMIInput.autoLowLatencyModeCapable"
				},
				{
					"name": "event",
					"x-alternative": "autoLowLatencyModeCapable"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "data",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/AutoLowLatencyModeCapableChangedInfo"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "data",
						"value": {
							"port": "HDMI1",
							"enabled": true
						}
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "data",
						"value": {
							"port": "HDMI1",
							"enabled": false
						}
					}
				}
			]
		},
		{
			"name": "HDMIInput.onEdidVersionChanged",
			"summary": "Property for each port's active EDID version.",
			"tags": [
				{
					"name": "subscriber",
					"x-subscriber-for": "HDMIInput.edidVersion"
				},
				{
					"name": "event",
					"x-alternative": "edidVersion"
				},
				{
					"name": "capabilities",
					"x-uses": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "port",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					}
				},
				{
					"name": "listen",
					"required": true,
					"schema": {
						"type": "boolean"
					}
				}
			],
			"result": {
				"name": "edidVersion",
				"schema": {
					"anyOf": [
						{
							"$ref": "#/x-schemas/Types/ListenResponse"
						},
						{
							"$ref": "#/components/schemas/EDIDVersion"
						}
					]
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "edidVersion",
						"value": "2.0"
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "listen",
							"value": true
						}
					],
					"result": {
						"name": "edidVersion",
						"value": "1.4"
					}
				}
			]
		},
		{
			"name": "HDMIInput.setLowLatencyMode",
			"summary": "Property for the low latency mode setting.",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "lowLatencyMode"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				}
			]
		},
		{
			"name": "HDMIInput.setAutoLowLatencyModeCapable",
			"summary": "Property for each port auto low latency mode setting.",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "autoLowLatencyModeCapable"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "port",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					}
				},
				{
					"name": "value",
					"schema": {
						"type": "boolean"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "value",
							"value": true
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "value",
							"value": false
						}
					],
					"result": {
						"name": "enabled",
						"value": null
					}
				}
			]
		},
		{
			"name": "HDMIInput.setEdidVersion",
			"summary": "Property for each port's active EDID version.",
			"tags": [
				{
					"name": "setter",
					"x-setter-for": "edidVersion"
				},
				{
					"name": "capabilities",
					"x-manages": [
						"xrn:firebolt:capability:inputs:hdmi"
					]
				}
			],
			"params": [
				{
					"name": "port",
					"required": true,
					"schema": {
						"$ref": "#/components/schemas/HDMIPortId"
					}
				},
				{
					"name": "value",
					"schema": {
						"$ref": "#/components/schemas/EDIDVersion"
					},
					"required": true
				}
			],
			"result": {
				"name": "result",
				"schema": {
					"type": "null"
				}
			},
			"examples": [
				{
					"name": "Default Example",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "value",
							"value": "2.0"
						}
					],
					"result": {
						"name": "edidVersion",
						"value": null
					}
				},
				{
					"name": "Default Example #2",
					"params": [
						{
							"name": "port",
							"value": "HDMI1"
						},
						{
							"name": "value",
							"value": "1.4"
						}
					],
					"result": {
						"name": "edidVersion",
						"value": null
					}
				}
			]
		}
	],
	"components": {
		"schemas": {
			"Token": {
				"type": "string",
				"description": "Encoded token provided by the Distributor for Device Authentication."
			},
			"Expiry": {
				"type": "integer",
				"description": "Number of secs before the token expires",
				"minimum": 1
			},
			"ChallengeRequestor": {
				"title": "ChallengeRequestor",
				"type": "object",
				"required": [
					"id",
					"name"
				],
				"properties": {
					"id": {
						"type": "string",
						"description": "The id of the app that requested the challenge"
					},
					"name": {
						"type": "string",
						"description": "The name of the app that requested the challenge"
					}
				}
			},
			"Challenge": {
				"title": "Challenge",
				"type": "object",
				"required": [
					"capability",
					"requestor"
				],
				"properties": {
					"capability": {
						"type": "string",
						"description": "The capability that is being requested by the user to approve"
					},
					"requestor": {
						"description": "The identity of which app is requesting access to this capability",
						"$ref": "#/components/schemas/ChallengeRequestor"
					}
				}
			},
			"ChallengeProviderRequest": {
				"title": "ChallengeProviderRequest",
				"allOf": [
					{
						"$ref": "#/x-schemas/Types/ProviderRequest"
					},
					{
						"type": "object",
						"required": [
							"parameters"
						],
						"properties": {
							"parameters": {
								"description": "The request to challenge the user",
								"$ref": "#/components/schemas/Challenge"
							}
						}
					}
				]
			},
			"GrantResult": {
				"title": "GrantResult",
				"type": "object",
				"required": [
					"granted"
				],
				"properties": {
					"granted": {
						"oneOf": [
							{
								"type": "boolean",
								"description": "Whether the user approved or denied the challenge"
							},
							{
								"const": null
							}
						]
					}
				},
				"examples": [
					{
						"granted": true
					},
					{
						"granted": false
					},
					{
						"granted": null
					}
				]
			},
			"NetworkType": {
				"title": "NetworkType",
				"type": "string",
				"enum": [
					"wifi",
					"ethernet",
					"hybrid"
				],
				"description": "The type of network that is currently active"
			},
			"NetworkState": {
				"title": "NetworkState",
				"type": "string",
				"enum": [
					"connected",
					"disconnected"
				],
				"description": "The type of network that is currently active"
			},
			"FederatedRequest": {
				"title": "FederatedRequest",
				"type": "object",
				"properties": {
					"correlationId": {
						"type": "string"
					}
				},
				"required": [
					"correlationId"
				],
				"propertyNames": {
					"enum": [
						"correlationId",
						"parameters"
					]
				},
				"examples": [
					{
						"correlationId": "xyz"
					}
				]
			},
			"FederatedResponse": {
				"title": "FederatedResponse",
				"type": "object",
				"properties": {
					"correlationId": {
						"type": "string"
					}
				},
				"required": [
					"correlationId",
					"result"
				],
				"propertyNames": {
					"enum": [
						"correlationId",
						"result"
					]
				},
				"examples": [
					{
						"correlationId": "xyz"
					}
				]
			},
			"EntityInfoParameters": {
				"title": "EntityInfoParameters",
				"type": "object",
				"properties": {
					"entityId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					}
				},
				"required": [
					"entityId"
				],
				"additionalProperties": false,
				"examples": [
					{
						"entityId": "345"
					}
				]
			},
			"PurchasedContentParameters": {
				"title": "PurchasedContentParameters",
				"type": "object",
				"properties": {
					"limit": {
						"type": "integer",
						"minimum": -1
					},
					"offeringType": {
						"$ref": "#/x-schemas/Entertainment/OfferingType"
					},
					"programType": {
						"$ref": "#/x-schemas/Entertainment/ProgramType"
					}
				},
				"required": [
					"limit"
				],
				"additionalProperties": false,
				"examples": [
					{
						"limit": 100
					}
				]
			},
			"Availability": {
				"title": "Availability",
				"type": "object",
				"properties": {
					"type": {
						"type": "string",
						"enum": [
							"channel-lineup",
							"program-lineup"
						]
					},
					"id": {
						"type": "string"
					},
					"catalogId": {
						"type": "string"
					},
					"startTime": {
						"type": "string",
						"format": "date-time"
					},
					"endTime": {
						"type": "string",
						"format": "date-time"
					}
				},
				"required": [
					"type",
					"id"
				]
			},
			"HDMIPortId": {
				"type": "string",
				"pattern": "^HDMI[0-9]+$"
			},
			"EDIDVersion": {
				"title": "EDIDVersion",
				"type": "string",
				"enum": [
					"1.4",
					"2.0",
					"unknown"
				]
			},
			"HDMIInputPort": {
				"title": "HDMIInputPort",
				"type": "object",
				"additionalProperties": false,
				"properties": {
					"port": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"connected": {
						"type": "boolean"
					},
					"signal": {
						"$ref": "#/components/schemas/HDMISignalStatus"
					},
					"arcCapable": {
						"type": "boolean"
					},
					"arcConnected": {
						"type": "boolean"
					},
					"edidVersion": {
						"$ref": "#/components/schemas/EDIDVersion"
					},
					"autoLowLatencyModeCapable": {
						"type": "boolean"
					},
					"autoLowLatencyModeSignalled": {
						"type": "boolean"
					}
				},
				"if": {
					"properties": {
						"edidVersion": {
							"type": "string",
							"enum": [
								"1.4",
								"unknown"
							]
						}
					}
				},
				"then": {
					"properties": {
						"autoLowLatencyModeCapable": {
							"const": false
						},
						"autoLowLatencyModeSignalled": {
							"const": false
						}
					}
				},
				"required": [
					"port",
					"connected",
					"signal",
					"arcCapable",
					"arcConnected",
					"edidVersion",
					"autoLowLatencyModeCapable",
					"autoLowLatencyModeSignalled"
				]
			},
			"HDMISignalStatus": {
				"type": "string",
				"enum": [
					"none",
					"stable",
					"unstable",
					"unsupported",
					"unknown"
				]
			},
			"SignalChangedInfo": {
				"title": "SignalChangedInfo",
				"type": "object",
				"properties": {
					"port": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"signal": {
						"$ref": "#/components/schemas/HDMISignalStatus"
					}
				},
				"required": [
					"port",
					"signal"
				]
			},
			"ConnectionChangedInfo": {
				"title": "ConnectionChangedInfo",
				"type": "object",
				"properties": {
					"port": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"connected": {
						"type": "boolean"
					}
				}
			},
			"AutoLowLatencyModeSignalChangedInfo": {
				"title": "AutoLowLatencyModeSignalChangedInfo",
				"type": "object",
				"properties": {
					"port": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"autoLowLatencyModeSignalled": {
						"type": "boolean"
					}
				}
			},
			"AutoLowLatencyModeCapableChangedInfo": {
				"title": "AutoLowLatencyModeCapableChangedInfo",
				"type": "object",
				"properties": {
					"port": {
						"$ref": "#/components/schemas/HDMIPortId"
					},
					"enabled": {
						"type": "boolean"
					}
				},
				"required": [
					"port",
					"enabled"
				]
			},
			"KeyboardParameters": {
				"title": "KeyboardParameters",
				"type": "object",
				"required": [
					"message"
				],
				"properties": {
					"message": {
						"description": "The message to display to the user so the user knows what they are entering",
						"type": "string"
					}
				},
				"examples": [
					{
						"type": "standard",
						"message": "Enter your user name."
					}
				]
			},
			"KeyboardProviderRequest": {
				"title": "KeyboardProviderRequest",
				"type": "object",
				"required": [
					"correlationId",
					"parameters"
				],
				"properties": {
					"correlationId": {
						"type": "string",
						"description": "An id to correlate the provider response with this request"
					},
					"parameters": {
						"description": "The request to start a keyboard session",
						"$ref": "#/components/schemas/KeyboardParameters"
					}
				}
			},
			"EventObjectPrimitives": {
				"title": "EventObjectPrimitives",
				"anyOf": [
					{
						"type": "string",
						"maxLength": 256
					},
					{
						"type": "number"
					},
					{
						"type": "integer"
					},
					{
						"type": "boolean"
					},
					{
						"type": "null"
					}
				]
			},
			"EventObject": {
				"title": "EventObject",
				"type": "object",
				"maxProperties": 256,
				"additionalProperties": {
					"anyOf": [
						{
							"$ref": "#/components/schemas/EventObjectPrimitives"
						},
						{
							"type": "array",
							"maxItems": 256,
							"items": {
								"anyOf": [
									{
										"$ref": "#/components/schemas/EventObjectPrimitives"
									},
									{
										"$ref": "#/components/schemas/EventObject"
									}
								]
							}
						},
						{
							"$ref": "#/components/schemas/EventObject"
						}
					]
				}
			},
			"PinChallenge": {
				"title": "PinChallenge",
				"type": "object",
				"required": [
					"requestor",
					"pinSpace"
				],
				"properties": {
					"pinSpace": {
						"type": "string",
						"description": "The pin space that this challenge is for",
						"enum": [
							"purchase",
							"content"
						]
					},
					"capability": {
						"type": "string",
						"description": "The capability that is gated by a pin challenge"
					},
					"requestor": {
						"description": "The identity of which app is requesting access to this capability",
						"$ref": "#/components/schemas/ChallengeRequestor"
					}
				}
			},
			"PinChallengeProviderRequest": {
				"title": "PinChallengeProviderRequest",
				"allOf": [
					{
						"$ref": "#/x-schemas/Types/ProviderRequest"
					},
					{
						"type": "object",
						"required": [
							"parameters"
						],
						"properties": {
							"parameters": {
								"description": "The request to challenge the user",
								"$ref": "#/components/schemas/PinChallenge"
							}
						}
					}
				]
			},
			"ResultReason": {
				"title": "ResultReason",
				"type": "string",
				"description": "The reason for the result of challenging the user",
				"enum": [
					"noPinRequired",
					"noPinRequiredWindow",
					"exceededPinFailures",
					"correctPin",
					"cancelled"
				]
			},
			"PinChallengeResult": {
				"title": "PinChallengeResult",
				"type": "object",
				"required": [
					"granted",
					"reason"
				],
				"properties": {
					"granted": {
						"oneOf": [
							{
								"type": "boolean",
								"description": "Whether the user succeeded in the pin challenge"
							},
							{
								"const": null
							}
						]
					},
					"reason": {
						"$ref": "#/components/schemas/ResultReason",
						"description": "The reason for the result "
					}
				}
			},
			"PrivacySettings": {
				"title": "PrivacySettings",
				"type": "object",
				"required": [
					"allowACRCollection",
					"allowResumePoints",
					"allowAppContentAdTargeting",
					"allowCameraAnalytics",
					"allowPersonalization",
					"allowPrimaryBrowseAdTargeting",
					"allowPrimaryContentAdTargeting",
					"allowProductAnalytics",
					"allowRemoteDiagnostics",
					"allowUnentitledPersonalization",
					"allowUnentitledResumePoints",
					"allowWatchHistory"
				],
				"properties": {
					"allowACRCollection": {
						"description": "",
						"type": "boolean"
					},
					"allowResumePoints": {
						"description": "",
						"type": "boolean"
					},
					"allowAppContentAdTargeting": {
						"description": "",
						"type": "boolean"
					},
					"allowCameraAnalytics": {
						"description": "",
						"type": "boolean"
					},
					"allowPersonalization": {
						"description": "",
						"type": "boolean"
					},
					"allowPrimaryBrowseAdTargeting": {
						"description": "",
						"type": "boolean"
					},
					"allowPrimaryContentAdTargeting": {
						"description": "",
						"type": "boolean"
					},
					"allowProductAnalytics": {
						"description": "",
						"type": "boolean"
					},
					"allowRemoteDiagnostics": {
						"description": "",
						"type": "boolean"
					},
					"allowUnentitledPersonalization": {
						"description": "",
						"type": "boolean"
					},
					"allowUnentitledResumePoints": {
						"description": "",
						"type": "boolean"
					},
					"allowWatchHistory": {
						"description": "",
						"type": "boolean"
					}
				},
				"examples": [
					{
						"allowACRCollection": true,
						"allowResumePoints": false,
						"allowAppContentAdTargeting": false,
						"allowCameraAnalytics": true,
						"allowPersonalization": true,
						"allowPrimaryBrowseAdTargeting": false,
						"allowPrimaryContentAdTargeting": false,
						"allowProductAnalytics": true,
						"allowRemoteDiagnostics": true,
						"allowUnentitledPersonalization": true,
						"allowUnentitledResumePoints": false,
						"allowWatchHistory": true
					}
				]
			},
			"StorageScope": {
				"title": "StorageScope",
				"type": "string",
				"enum": [
					"device",
					"account"
				],
				"description": "The scope of the data"
			},
			"StorageOptions": {
				"title": "StorageOptions",
				"type": "object",
				"required": [
					"ttl"
				],
				"properties": {
					"ttl": {
						"type": "number",
						"description": "Seconds from set time before the data expires and is removed"
					}
				}
			},
			"GrantInfo": {
				"description": "Information about a grant given by a user",
				"type": "object",
				"properties": {
					"app": {
						"$ref": "#/components/schemas/AppInfo"
					},
					"state": {
						"$ref": "#/components/schemas/GrantState"
					},
					"capability": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"role": {
						"$ref": "#/x-schemas/Capabilities/Role"
					},
					"lifespan": {
						"type": "string",
						"enum": [
							"once",
							"forever",
							"appActive",
							"powerActive",
							"seconds"
						]
					},
					"expires": {
						"type": "string",
						"format": "date-time"
					}
				},
				"additionalProperties": false,
				"required": [
					"state",
					"capability",
					"role",
					"lifespan"
				],
				"examples": [
					{
						"app": {
							"id": "certapp",
							"title": "Firebolt Certification"
						},
						"state": "granted",
						"capability": "xrn:firebolt:capability:data:app-usage",
						"role": "use",
						"lifespan": "seconds",
						"expires": "2022-12-14T20:20:39+00:00"
					}
				]
			},
			"AppInfo": {
				"description": "Information about an app that a grant was for",
				"type": "object",
				"properties": {
					"id": {
						"type": "string"
					},
					"title": {
						"type": "string"
					}
				},
				"additionalProperties": false,
				"required": [
					"id"
				]
			},
			"GrantState": {
				"description": "The state the grant is in",
				"type": "string",
				"enum": [
					"granted",
					"denied"
				]
			},
			"GrantModificationOptions": {
				"description": "Options when modifying any grant",
				"type": "object",
				"properties": {
					"appId": {
						"type": "string"
					}
				},
				"additionalProperties": false,
				"required": []
			},
			"RequestOptions": {
				"title": "RequestOptions",
				"type": "object",
				"properties": {
					"force": {
						"type": "boolean",
						"description": "Whether to force for user grant even if the previous decision stored"
					}
				}
			},
			"AccessPointList": {
				"title": "AccessPointList",
				"type": "object",
				"description": "List of scanned Wifi networks available near the device.",
				"properties": {
					"list": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/AccessPoint"
						}
					}
				}
			},
			"WifiSecurityMode": {
				"title": "WifiSecurityMode",
				"description": "Security Mode supported for Wifi",
				"type": "string",
				"enum": [
					"none",
					"wep64",
					"wep128",
					"wpaPskTkip",
					"wpaPskAes",
					"wpa2PskTkip",
					"wpa2PskAes",
					"wpaEnterpriseTkip",
					"wpaEnterpriseAes",
					"wpa2EnterpriseTkip",
					"wpa2EnterpriseAes",
					"wpa2Psk",
					"wpa2Enterprise",
					"wpa3PskAes",
					"wpa3Sae"
				]
			},
			"WifiSignalStrength": {
				"title": "WifiSignalStrength",
				"description": "Strength of Wifi signal, value is negative based on RSSI specification.",
				"type": "integer",
				"default": -255,
				"minimum": -255,
				"maximum": 0
			},
			"WifiFrequency": {
				"title": "WifiFrequency",
				"description": "Wifi Frequency in Ghz, example 2.4Ghz and 5Ghz.",
				"type": "number",
				"default": 0,
				"minimum": 0
			},
			"AccessPoint": {
				"title": "AccessPoint",
				"description": "Properties of a scanned wifi list item.",
				"type": "object",
				"properties": {
					"ssid": {
						"type": "string",
						"description": "Name of the wifi."
					},
					"securityMode": {
						"$ref": "#/components/schemas/WifiSecurityMode"
					},
					"signalStrength": {
						"$ref": "#/components/schemas/WifiSignalStrength"
					},
					"frequency": {
						"$ref": "#/components/schemas/WifiFrequency"
					}
				}
			},
			"WPSSecurityPin": {
				"title": "WPSSecurityPin",
				"description": "Security pin type for WPS(Wifi Protected Setup).",
				"type": "string",
				"enum": [
					"pushButton",
					"pin",
					"manufacturerPin"
				]
			}
		}
	},
	"x-schemas": {
		"Types": {
			"uri": "https://meta.comcast.com/firebolt/types",
			"SemanticVersion": {
				"title": "SemanticVersion",
				"type": "object",
				"properties": {
					"major": {
						"type": "integer",
						"minimum": 0
					},
					"minor": {
						"type": "integer",
						"minimum": 0
					},
					"patch": {
						"type": "integer",
						"minimum": 0
					},
					"readable": {
						"type": "string"
					}
				},
				"required": [
					"major",
					"minor",
					"patch",
					"readable"
				],
				"additionalProperties": false
			},
			"ListenResponse": {
				"title": "ListenResponse",
				"type": "object",
				"required": [
					"event",
					"listening"
				],
				"properties": {
					"event": {
						"type": "string",
						"pattern": "[a-zA-Z]+\\.on[A-Z][a-zA-Z]+"
					},
					"listening": {
						"type": "boolean"
					}
				},
				"additionalProperties": false
			},
			"ProviderRequest": {
				"title": "ProviderRequest",
				"type": "object",
				"required": [
					"correlationId"
				],
				"additionalProperties": false,
				"properties": {
					"correlationId": {
						"type": "string",
						"description": "The id that was passed in to the event that triggered a provider method to be called"
					},
					"parameters": {
						"description": "The result of the provider response.",
						"type": [
							"object",
							"null"
						]
					}
				}
			},
			"AudioProfile": {
				"title": "AudioProfile",
				"type": "string",
				"enum": [
					"stereo",
					"dolbyDigital5.1",
					"dolbyDigital5.1+",
					"dolbyAtmos"
				]
			},
			"LocalizedString": {
				"title": "LocalizedString",
				"description": "Localized string supports either a simple `string` or a Map<string, string> of language codes to strings. When using a simple `string`, the current preferred langauge from `Localization.langauge()` is assumed.",
				"oneOf": [
					{
						"type": "string"
					},
					{
						"type": "object",
						"additionalProperties": {
							"type": "string"
						}
					}
				],
				"examples": [
					"A simple string, with no language code",
					{
						"en": "This is english",
						"es": "esto es español"
					}
				]
			},
			"FlatMap": {
				"type": "object",
				"additionalProperties": {
					"oneOf": [
						{
							"type": "string"
						},
						{
							"type": "number"
						},
						{
							"type": "boolean"
						}
					]
				}
			},
			"BooleanMap": {
				"title": "BooleanMap",
				"type": "object",
				"additionalProperties": {
					"type": "boolean"
				}
			},
			"Timeout": {
				"title": "Timeout",
				"description": "Defines the timeout in seconds. If the threshold for timeout is passed for any operation without a result it will throw an error.",
				"type": "integer",
				"default": 0,
				"minimum": 0,
				"maximum": 9999
			}
		},
		"Accessibility": {
			"uri": "https://meta.comcast.com/firebolt/accessibility",
			"ClosedCaptionsSettings": {
				"title": "ClosedCaptionsSettings",
				"type": "object",
				"required": [
					"enabled"
				],
				"properties": {
					"enabled": {
						"type": "boolean",
						"description": "Whether or not closed-captions should be enabled by default"
					},
					"styles": {
						"$ref": "#/x-schemas/Accessibility/ClosedCaptionsStyles"
					},
					"preferredLanguages": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Localization/ISO639_2Language"
						}
					}
				},
				"examples": [
					{
						"enabled": true,
						"styles": {
							"fontFamily": "monospaced_serif",
							"fontSize": 1,
							"fontColor": "#ffffff",
							"fontEdge": "none",
							"fontEdgeColor": "#7F7F7F",
							"fontOpacity": 100,
							"backgroundColor": "#000000",
							"backgroundOpacity": 100,
							"textAlign": "center",
							"textAlignVertical": "middle",
							"windowColor": "white",
							"windowOpacity": 50
						},
						"preferredLanguages": [
							"eng",
							"spa"
						]
					}
				]
			},
			"VoiceGuidanceSettings": {
				"title": "VoiceGuidanceSettings",
				"type": "object",
				"required": [
					"enabled",
					"navigationHints",
					"rate"
				],
				"properties": {
					"enabled": {
						"type": "boolean",
						"description": "Whether or not voice guidance should be enabled by default"
					},
					"navigationHints": {
						"type": "boolean",
						"description": "Whether or not voice guidance should include additional navigation hints"
					},
					"rate": {
						"$ref": "#/x-schemas/Accessibility/SpeechRate",
						"description": "The rate at which voice guidance speech will be read back to the user"
					},
					"speed": {
						"$ref": "#/x-schemas/Accessibility/SpeechRate",
						"description": "**DEPRECATED** Use rate instead. The rate at which voice guidance speech will be read back to the user"
					}
				},
				"examples": [
					{
						"enabled": true,
						"navigationHints": true,
						"rate": 1,
						"speed": 1
					}
				]
			},
			"SpeechRate": {
				"title": "SpeechRate",
				"type": "number",
				"minimum": 0.1,
				"maximum": 10
			},
			"ClosedCaptionsStyles": {
				"title": "ClosedCaptionsStyles",
				"type": "object",
				"description": "The default styles to use when displaying closed-captions",
				"properties": {
					"fontFamily": {
						"$ref": "#/x-schemas/Accessibility/FontFamily"
					},
					"fontSize": {
						"$ref": "#/x-schemas/Accessibility/FontSize"
					},
					"fontColor": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"fontEdge": {
						"$ref": "#/x-schemas/Accessibility/FontEdge"
					},
					"fontEdgeColor": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"fontOpacity": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					},
					"backgroundColor": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"backgroundOpacity": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					},
					"textAlign": {
						"$ref": "#/x-schemas/Accessibility/HorizontalAlignment"
					},
					"textAlignVertical": {
						"$ref": "#/x-schemas/Accessibility/VerticalAlignment"
					},
					"windowColor": {
						"$ref": "#/x-schemas/Accessibility/Color"
					},
					"windowOpacity": {
						"$ref": "#/x-schemas/Accessibility/Opacity"
					}
				}
			},
			"FontFamily": {
				"type": [
					"string",
					"null"
				],
				"enum": [
					"monospaced_serif",
					"proportional_serif",
					"monospaced_sanserif",
					"proportional_sanserif",
					"smallcaps",
					"cursive",
					"casual",
					null
				]
			},
			"FontSize": {
				"type": [
					"number",
					"null"
				],
				"minimum": 0
			},
			"Color": {
				"type": [
					"string",
					"null"
				]
			},
			"FontEdge": {
				"type": [
					"string",
					"null"
				],
				"enum": [
					"none",
					"raised",
					"depressed",
					"uniform",
					"drop_shadow_left",
					"drop_shadow_right",
					null
				]
			},
			"Opacity": {
				"type": [
					"number",
					"null"
				],
				"minimum": 0,
				"maximum": 100
			},
			"HorizontalAlignment": {
				"type": [
					"string",
					"null"
				]
			},
			"VerticalAlignment": {
				"type": [
					"string",
					"null"
				]
			}
		},
		"Localization": {
			"uri": "https://meta.comcast.com/firebolt/localization",
			"ISO639_2Language": {
				"type": "string",
				"pattern": "^[a-z]{3}$"
			},
			"Locality": {
				"type": "string"
			},
			"CountryCode": {
				"type": "string",
				"pattern": "^[A-Z]{2}$"
			},
			"Language": {
				"type": "string",
				"pattern": "^[A-Za-z]{2}$"
			},
			"Locale": {
				"type": "string",
				"pattern": "^[a-zA-Z]+([a-zA-Z0-9\\-]*)$"
			},
			"TimeZone": {
				"type": "string",
				"pattern": "^[-+_/ A-Za-z 0-9]*$"
			}
		},
		"Advertising": {
			"uri": "https://meta.comcast.com/firebolt/advertising",
			"SkipRestriction": {
				"title": "SkipRestriction",
				"$comment": "xrn:advertising:policy:skipRestriction:",
				"type": "string",
				"enum": [
					"none",
					"adsUnwatched",
					"adsAll",
					"all"
				],
				"description": "The advertisement skip restriction.\n\nApplies to fast-forward/rewind (e.g. trick mode), seeking over an entire opportunity (e.g. jump), seeking out of what's currently playing, and \"Skip this ad...\" features. Seeking over multiple ad opportunities only requires playback of the _last_ opportunity, not all opportunities, preceding the seek destination.\n\n| Value        | Description                                                                    |\n|--------------|--------------------------------------------------------------------------------|\n| none         |No fast-forward, jump, or skip restrictions                                    |\n| adsUnwatched | Restrict fast-forward, jump, and skip for unwatched ad opportunities only.     |\n| adsAll       | Restrict fast-forward, jump, and skip for all ad opportunities                 |\n| all          | Restrict fast-forward, jump, and skip for all ad opportunities and all content |\n\nNamespace: `xrn:advertising:policy:skipRestriction:`\n\n"
			}
		},
		"Capabilities": {
			"uri": "https://meta.comcast.com/firebolt/capabilities",
			"Capability": {
				"title": "Capability",
				"type": "string",
				"description": "A Capability is a discrete unit of functionality that a Firebolt device might be able to perform.",
				"pattern": "^xrn:firebolt:capability:([a-z0-9\\-]+)((:[a-z0-9\\-]+)?)$"
			},
			"CapabilityInfo": {
				"title": "CapabilityInfo",
				"type": "object",
				"required": [
					"supported",
					"available",
					"use",
					"manage",
					"provide"
				],
				"properties": {
					"capability": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					},
					"supported": {
						"type": "boolean",
						"description": "Provides info whether the capability is supported"
					},
					"available": {
						"type": "boolean",
						"description": "Provides info whether the capability is available"
					},
					"use": {
						"$ref": "#/x-schemas/Capabilities/CapPermissionStatus"
					},
					"manage": {
						"$ref": "#/x-schemas/Capabilities/CapPermissionStatus"
					},
					"provide": {
						"$ref": "#/x-schemas/Capabilities/CapPermissionStatus"
					},
					"details": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Capabilities/DenyReason"
						},
						"minItems": 1,
						"maxItems": 6
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"capability": "xrn:firebolt:capability:keyboard",
						"supported": true,
						"available": true,
						"use": {
							"permitted": true,
							"granted": true
						},
						"manage": {
							"permitted": true,
							"granted": true
						},
						"provide": {
							"permitted": true,
							"granted": true
						}
					}
				]
			},
			"Permission": {
				"title": "Permission",
				"description": "A capability combined with a Role, which an app may be permitted (by a distributor) or granted (by an end user).",
				"type": "object",
				"required": [
					"capability"
				],
				"properties": {
					"role": {
						"$ref": "#/x-schemas/Capabilities/Role"
					},
					"capability": {
						"$ref": "#/x-schemas/Capabilities/Capability"
					}
				},
				"additionalProperties": false
			},
			"Role": {
				"title": "Role",
				"description": "Role provides access level for the app for a given capability.",
				"type": "string",
				"enum": [
					"use",
					"manage",
					"provide"
				]
			},
			"CapPermissionStatus": {
				"type": "object",
				"properties": {
					"permitted": {
						"type": "boolean",
						"description": "Provides info whether the capability is permitted"
					},
					"granted": {
						"oneOf": [
							{
								"type": "boolean",
								"description": "Provides info whether the capability is granted"
							},
							{
								"const": null
							}
						]
					}
				},
				"additionalProperties": false
			},
			"DenyReason": {
				"title": "DenyReason",
				"description": "Reasons why a Capability might not be invokable",
				"type": "string",
				"enum": [
					"unpermitted",
					"unsupported",
					"disabled",
					"unavailable",
					"grantDenied",
					"ungranted"
				]
			}
		},
		"Discovery": {
			"uri": "https://meta.comcast.com/firebolt/discovery",
			"InterestType": {
				"title": "InterestType",
				"type": "string",
				"enum": [
					"interest",
					"disinterest"
				]
			},
			"InterestReason": {
				"title": "InterestReason",
				"type": "string",
				"enum": [
					"playlist",
					"reaction",
					"recording"
				]
			},
			"EntityInfoResult": {
				"title": "EntityInfoResult",
				"description": "The result for an `entityInfo()` push or pull.",
				"type": "object",
				"properties": {
					"expires": {
						"type": "string",
						"format": "date-time"
					},
					"entity": {
						"$ref": "#/x-schemas/Entertainment/EntityInfo"
					},
					"related": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/EntityInfo"
						}
					}
				},
				"required": [
					"expires",
					"entity"
				],
				"additionalProperties": false
			},
			"PurchasedContentResult": {
				"title": "PurchasedContentResult",
				"type": "object",
				"properties": {
					"expires": {
						"type": "string",
						"format": "date-time"
					},
					"totalCount": {
						"type": "integer",
						"minimum": 0
					},
					"entries": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/EntityInfo"
						}
					}
				},
				"required": [
					"expires",
					"totalCount",
					"entries"
				],
				"additionalProperties": false
			}
		},
		"Entity": {
			"uri": "https://meta.comcast.com/firebolt/entity",
			"EntityDetails": {
				"title": "EntityDetails",
				"type": "object",
				"required": [
					"identifiers"
				],
				"properties": {
					"identifiers": {
						"$ref": "#/x-schemas/Entity/Entity"
					},
					"info": {
						"$ref": "#/x-schemas/Entity/Metadata"
					},
					"waysToWatch": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/WayToWatch"
						},
						"description": "An array of ways a user is might watch this entity, regardless of entitlements."
					}
				}
			},
			"Entity": {
				"oneOf": [
					{
						"$ref": "#/x-schemas/Entity/ProgramEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/MusicEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/ChannelEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/UntypedEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/PlaylistEntity"
					}
				]
			},
			"Metadata": {
				"title": "Metadata",
				"type": "object",
				"properties": {
					"title": {
						"type": "string",
						"description": "Title of the entity."
					},
					"synopsis": {
						"type": "string",
						"description": "Short description of the entity."
					},
					"seasonNumber": {
						"type": "number",
						"description": "For TV seasons, the season number. For TV episodes, the season that the episode belongs to."
					},
					"seasonCount": {
						"type": "number",
						"description": "For TV series, seasons, and episodes, the total number of seasons."
					},
					"episodeNumber": {
						"type": "number",
						"description": "For TV episodes, the episode number."
					},
					"episodeCount": {
						"type": "number",
						"description": "For TV seasons and episodes, the total number of episodes in the current season."
					},
					"releaseDate": {
						"type": "string",
						"format": "date-time",
						"description": "The date that the program or entity was released or first aired."
					},
					"contentRatings": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/ContentRating"
						},
						"description": "A list of ContentRating objects, describing the entity's ratings in various rating schemes."
					}
				}
			},
			"ProgramEntity": {
				"title": "ProgramEntity",
				"oneOf": [
					{
						"$ref": "#/x-schemas/Entity/MovieEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/TVEpisodeEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/TVSeasonEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/TVSeriesEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/AdditionalEntity"
					}
				]
			},
			"MusicEntity": {
				"title": "MusicEntity",
				"type": "object",
				"properties": {
					"entityType": {
						"const": "music"
					},
					"musicType": {
						"$ref": "#/x-schemas/Entertainment/MusicType"
					},
					"entityId": {
						"type": "string"
					}
				},
				"required": [
					"entityType",
					"musicType",
					"entityId"
				]
			},
			"ChannelEntity": {
				"title": "ChannelEntity",
				"type": "object",
				"properties": {
					"entityType": {
						"const": "channel"
					},
					"channelType": {
						"type": "string",
						"enum": [
							"streaming",
							"overTheAir"
						]
					},
					"entityId": {
						"type": "string",
						"description": "ID of the channel, in the target App's scope."
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"required": [
					"entityType",
					"channelType",
					"entityId"
				],
				"additionalProperties": false
			},
			"UntypedEntity": {
				"title": "UntypedEntity",
				"allOf": [
					{
						"description": "A Firebolt compliant representation of the remaining entity types.",
						"type": "object",
						"required": [
							"entityId"
						],
						"properties": {
							"entityId": {
								"type": "string"
							},
							"assetId": {
								"type": "string"
							},
							"appContentData": {
								"type": "string",
								"maxLength": 256
							}
						},
						"additionalProperties": false
					}
				],
				"examples": [
					{
						"entityId": "an-entity"
					}
				]
			},
			"PlaylistEntity": {
				"title": "PlaylistEntity",
				"description": "A Firebolt compliant representation of a Playlist entity.",
				"type": "object",
				"required": [
					"entityType",
					"entityId"
				],
				"properties": {
					"entityType": {
						"const": "playlist"
					},
					"entityId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "playlist",
						"entityId": "playlist/xyz"
					}
				]
			},
			"MovieEntity": {
				"title": "MovieEntity",
				"description": "A Firebolt compliant representation of a Movie entity.",
				"type": "object",
				"required": [
					"entityType",
					"programType",
					"entityId"
				],
				"properties": {
					"entityType": {
						"const": "program"
					},
					"programType": {
						"const": "movie"
					},
					"entityId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "program",
						"programType": "movie",
						"entityId": "el-camino"
					}
				]
			},
			"TVEpisodeEntity": {
				"title": "TVEpisodeEntity",
				"description": "A Firebolt compliant representation of a TV Episode entity.",
				"type": "object",
				"required": [
					"entityType",
					"programType",
					"entityId",
					"seriesId",
					"seasonId"
				],
				"properties": {
					"entityType": {
						"const": "program"
					},
					"programType": {
						"const": "episode"
					},
					"entityId": {
						"type": "string"
					},
					"seriesId": {
						"type": "string"
					},
					"seasonId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "program",
						"programType": "episode",
						"entityId": "breaking-bad-pilot",
						"seriesId": "breaking-bad",
						"seasonId": "breaking-bad-season-1"
					}
				]
			},
			"TVSeasonEntity": {
				"title": "TVSeasonEntity",
				"description": "A Firebolt compliant representation of a TV Season entity.",
				"type": "object",
				"required": [
					"entityType",
					"programType",
					"entityId",
					"seriesId"
				],
				"properties": {
					"entityType": {
						"const": "program"
					},
					"programType": {
						"const": "season"
					},
					"entityId": {
						"type": "string"
					},
					"seriesId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "program",
						"programType": "season",
						"entityId": "breaking-bad-season-1",
						"seriesId": "breaking-bad"
					}
				]
			},
			"TVSeriesEntity": {
				"title": "TVSeriesEntity",
				"description": "A Firebolt compliant representation of a TV Series entity.",
				"type": "object",
				"required": [
					"entityType",
					"programType",
					"entityId"
				],
				"properties": {
					"entityType": {
						"const": "program"
					},
					"programType": {
						"const": "series"
					},
					"entityId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "program",
						"programType": "series",
						"entityId": "breaking-bad"
					}
				]
			},
			"AdditionalEntity": {
				"title": "AdditionalEntity",
				"description": "A Firebolt compliant representation of the remaining program entity types.",
				"type": "object",
				"required": [
					"entityType",
					"programType",
					"entityId"
				],
				"properties": {
					"entityType": {
						"const": "program"
					},
					"programType": {
						"type": "string",
						"enum": [
							"concert",
							"sportingEvent",
							"preview",
							"other",
							"advertisement",
							"musicVideo",
							"minisode",
							"extra"
						]
					},
					"entityId": {
						"type": "string"
					},
					"assetId": {
						"type": "string"
					},
					"appContentData": {
						"type": "string",
						"maxLength": 256
					}
				},
				"additionalProperties": false,
				"examples": [
					{
						"entityType": "program",
						"programType": "concert",
						"entityId": "live-aid"
					}
				]
			},
			"PlayableEntity": {
				"title": "PlayableEntity",
				"anyOf": [
					{
						"$ref": "#/x-schemas/Entity/MovieEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/TVEpisodeEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/PlaylistEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/MusicEntity"
					},
					{
						"$ref": "#/x-schemas/Entity/AdditionalEntity"
					}
				]
			}
		},
		"Entertainment": {
			"uri": "https://meta.comcast.com/firebolt/entertainment",
			"WayToWatch": {
				"title": "WayToWatch",
				"type": "object",
				"required": [
					"identifiers",
					"audioProfile"
				],
				"properties": {
					"identifiers": {
						"$ref": "#/x-schemas/Entertainment/ContentIdentifiers"
					},
					"expires": {
						"type": "string",
						"format": "date-time",
						"description": "Time when the WayToWatch is no longer available."
					},
					"entitled": {
						"type": "boolean",
						"description": "Specify if the user is entitled to watch the entity."
					},
					"entitledExpires": {
						"type": "string",
						"format": "date-time",
						"description": "Time when the entity is no longer entitled."
					},
					"offeringType": {
						"$ref": "#/x-schemas/Entertainment/OfferingType"
					},
					"hasAds": {
						"type": "boolean",
						"description": "True if the streamable asset contains ads."
					},
					"price": {
						"type": "number",
						"description": "For \"buy\" and \"rent\" WayToWatch, the price to buy or rent in the user's preferred currency."
					},
					"videoQuality": {
						"type": "array",
						"items": {
							"type": "string",
							"enum": [
								"SD",
								"HD",
								"UHD"
							]
						},
						"description": "List of the video qualities available via the WayToWatch."
					},
					"audioProfile": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Types/AudioProfile"
						},
						"description": "List of the audio types available via the WayToWatch."
					},
					"audioLanguages": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "List of audio track languages available on the WayToWatch. The first is considered the primary language. Languages are expressed as ISO 639 1/2 codes."
					},
					"closedCaptions": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "List of languages for which closed captions are available on the WayToWatch. Languages are expressed as ISO 639 1/2 codes."
					},
					"subtitles": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "List of languages for which subtitles are available on the WayToWatch. Languages are expressed as ISO 639 1/2 codes."
					},
					"audioDescriptions": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "List of languages for which audio descriptions (DVD) as available on the WayToWatch. Languages are expressed as ISO 639 1/2 codes."
					}
				},
				"description": "A WayToWatch describes a way to watch a video program. It may describe a single\nstreamable asset or a set of streamable assets. For example, an app provider may\ndescribe HD, SD, and UHD assets as individual WayToWatch objects or rolled into\na single WayToWatch.\n\nIf the WayToWatch represents a single streamable asset, the provided\nContentIdentifiers must be sufficient to play back the specific asset when sent\nvia a playback intent or deep link. If the WayToWatch represents multiple\nstreamable assets, the provided ContentIdentifiers must be sufficient to\nplayback one of the assets represented with no user action. In this scenario,\nthe app SHOULD choose the best asset for the user based on their device and\nsettings. The ContentIdentifiers MUST also be sufficient for navigating the user\nto the appropriate entity or detail screen via an entity intent.\n\nThe app should set the `entitled` property to indicate if the user can watch, or\nnot watch, the asset without making a purchase. If the entitlement is known to\nexpire at a certain time (e.g., a rental), the app should also provide the\n`entitledExpires` property. If the entitlement is not expired, the UI will use\nthe `entitled` property to display watchable assets to the user, adjust how\nassets are presented to the user, and how intents into the app are generated.\nFor example, the the Aggregated Experience could render a \"Watch\" button for an\nentitled asset versus a \"Subscribe\" button for an non-entitled asset.\n\nThe app should set the `offeringType` to define how the content may be\nauthorized. The UI will use this to adjust how content is presented to the user.\n\nA single WayToWatch cannot represent streamable assets available via multiple\npurchase paths. If, for example, an asset has both Buy, Rent and Subscription\navailability, the three different entitlement paths MUST be represented as\nmultiple WayToWatch objects.\n\n`price` should be populated for WayToWatch objects with `buy` or `rent`\n`offeringType`. If the WayToWatch represents a set of assets with various price\npoints, the `price` provided must be the lowest available price."
			},
			"OfferingType": {
				"title": "OfferingType",
				"type": "string",
				"enum": [
					"free",
					"subscribe",
					"buy",
					"rent"
				],
				"description": "The offering type of the WayToWatch."
			},
			"ContentIdentifiers": {
				"title": "ContentIdentifiers",
				"type": "object",
				"properties": {
					"assetId": {
						"type": "string",
						"description": "Identifies a particular playable asset. For example, the HD version of a particular movie separate from the UHD version."
					},
					"entityId": {
						"type": "string",
						"description": "Identifies an entity, such as a Movie, TV Series or TV Episode."
					},
					"seasonId": {
						"type": "string",
						"description": "The TV Season for a TV Episode."
					},
					"seriesId": {
						"type": "string",
						"description": "The TV Series for a TV Episode or TV Season."
					},
					"appContentData": {
						"type": "string",
						"description": "App-specific content identifiers.",
						"maxLength": 1024
					}
				},
				"description": "The ContentIdentifiers object is how the app identifies an entity or asset to\nthe Firebolt platform. These ids are used to look up metadata and deep link into\nthe app.\n\nApps do not need to provide all ids. They only need to provide the minimum\nrequired to target a playable stream or an entity detail screen via a deep link.\nIf an id isn't needed to get to those pages, it doesn't need to be included."
			},
			"ContentRating": {
				"title": "ContentRating",
				"type": "object",
				"required": [
					"scheme",
					"rating"
				],
				"properties": {
					"scheme": {
						"type": "string",
						"enum": [
							"CA-Movie",
							"CA-TV",
							"CA-Movie-Fr",
							"CA-TV-Fr",
							"US-Movie",
							"US-TV"
						],
						"description": "The rating scheme."
					},
					"rating": {
						"type": "string",
						"description": "The content rating."
					},
					"advisories": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "Optional list of subratings or content advisories."
					}
				},
				"description": "A ContentRating represents an age or content based of an entity. Supported rating schemes and associated types are below.\n\n## United States\n\n`US-Movie` (MPAA):\n\nRatings: `NR`, `G`, `PG`, `PG13`, `R`, `NC17`\n\nAdvisories: `AT`, `BN`, `SL`, `SS`, `N`, `V`\n\n`US-TV` (Vchip):\n\nRatings: `TVY`, `TVY7`, `TVG`, `TVPG`, `TV14`, `TVMA`\n\nAdvisories: `FV`, `D`, `L`, `S`, `V`\n\n## Canada\n\n`CA-Movie` (OFRB):\n\nRatings: `G`, `PG`, `14A`, `18A`, `R`, `E`\n\n`CA-TV` (AGVOT)\n\nRatings: `E`, `C`, `C8`, `G`, `PG`, `14+`, `18+`\n\nAdvisories: `C`, `C8`, `G`, `PG`, `14+`, `18+`\n\n`CA-Movie-Fr` (Canadian French language movies):\n\nRatings: `G`, `8+`, `13+`, `16+`, `18+`\n\n`CA-TV-Fr` (Canadian French language TV):\n\nRatings: `G`, `8+`, `13+`, `16+`, `18+`\n"
			},
			"MusicType": {
				"title": "MusicType",
				"type": "string",
				"description": "In the case of a music `entityType`, specifies the type of music entity.",
				"enum": [
					"song",
					"album"
				]
			},
			"Entitlement": {
				"title": "Entitlement",
				"type": "object",
				"properties": {
					"entitlementId": {
						"type": "string"
					},
					"startTime": {
						"type": "string",
						"format": "date-time"
					},
					"endTime": {
						"type": "string",
						"format": "date-time"
					}
				},
				"required": [
					"entitlementId"
				]
			},
			"EntityInfo": {
				"title": "EntityInfo",
				"description": "An EntityInfo object represents an \"entity\" on the platform. Currently, only entities of type `program` are supported. `programType` must be supplied to identify the program type.\n\nAdditionally, EntityInfo objects must specify a properly formed\nContentIdentifiers object, `entityType`, and `title`.  The app should provide\nthe `synopsis` property for a good user experience if the content\nmetadata is not available another way.\n\nThe ContentIdentifiers must be sufficient for navigating the user to the\nappropriate entity or detail screen via a `detail` intent or deep link.\n\nEntityInfo objects must provide at least one WayToWatch object when returned as\npart of an `entityInfo` method and a streamable asset is available to the user.\nIt is optional for the `purchasedContent` method, but recommended because the UI\nmay use those data.",
				"type": "object",
				"required": [
					"identifiers",
					"entityType",
					"title"
				],
				"properties": {
					"identifiers": {
						"$ref": "#/x-schemas/Entertainment/ContentIdentifiers"
					},
					"title": {
						"type": "string",
						"description": "Title of the entity."
					},
					"entityType": {
						"type": "string",
						"enum": [
							"program",
							"music"
						],
						"description": "The type of the entity, e.g. `program` or `music`."
					},
					"programType": {
						"$ref": "#/x-schemas/Entertainment/ProgramType"
					},
					"musicType": {
						"$ref": "#/x-schemas/Entertainment/MusicType"
					},
					"synopsis": {
						"type": "string",
						"description": "Short description of the entity."
					},
					"seasonNumber": {
						"type": "number",
						"description": "For TV seasons, the season number. For TV episodes, the season that the episode belongs to."
					},
					"seasonCount": {
						"type": "number",
						"description": "For TV series, seasons, and episodes, the total number of seasons."
					},
					"episodeNumber": {
						"type": "number",
						"description": "For TV episodes, the episode number."
					},
					"episodeCount": {
						"type": "number",
						"description": "For TV seasons and episodes, the total number of episodes in the current season."
					},
					"releaseDate": {
						"type": "string",
						"format": "date-time",
						"description": "The date that the program or entity was released or first aired."
					},
					"contentRatings": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/ContentRating"
						},
						"description": "A list of ContentRating objects, describing the entity's ratings in various rating schemes."
					},
					"waysToWatch": {
						"type": "array",
						"items": {
							"$ref": "#/x-schemas/Entertainment/WayToWatch"
						},
						"description": "An array of ways a user is might watch this entity, regardless of entitlements."
					}
				},
				"if": {
					"properties": {
						"entityType": {
							"const": "program"
						}
					}
				},
				"then": {
					"required": [
						"programType"
					],
					"not": {
						"required": [
							"musicType"
						]
					}
				},
				"else": {
					"required": [
						"musicType"
					],
					"not": {
						"required": [
							"programType"
						]
					}
				}
			},
			"ProgramType": {
				"title": "ProgramType",
				"type": "string",
				"description": "In the case of a program `entityType`, specifies the program type.",
				"enum": [
					"movie",
					"episode",
					"season",
					"series",
					"other",
					"preview",
					"extra",
					"concert",
					"sportingEvent",
					"advertisement",
					"musicVideo",
					"minisode"
				]
			}
		},
		"Intents": {
			"uri": "https://meta.comcast.com/firebolt/intents",
			"NavigationIntent": {
				"title": "NavigationIntent",
				"description": "A Firebolt compliant representation of a user intention to navigate to a specific place in an app.",
				"anyOf": [
					{
						"$ref": "#/x-schemas/Intents/HomeIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/LaunchIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/EntityIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/PlaybackIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/SearchIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/SectionIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/TuneIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/PlayEntityIntent"
					},
					{
						"$ref": "#/x-schemas/Intents/PlayQueryIntent"
					}
				]
			},
			"HomeIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to it's home screen, and bring that app to the foreground if needed.",
				"title": "HomeIntent",
				"allOf": [
					{
						"title": "HomeIntent",
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"title": "HomeIntent",
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"title": "HomeIntent",
						"type": "object",
						"properties": {
							"action": {
								"const": "home"
							}
						},
						"not": {
							"required": [
								"data"
							]
						}
					}
				],
				"examples": [
					{
						"action": "home",
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"LaunchIntent": {
				"description": "A Firebolt compliant representation of a user intention to launch an app.",
				"title": "LaunchIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"properties": {
							"action": {
								"const": "launch"
							}
						},
						"not": {
							"required": [
								"data"
							]
						}
					}
				],
				"examples": [
					{
						"action": "launch",
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"EntityIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to a specific entity page, and bring that app to the foreground if needed.",
				"title": "EntityIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"required": [
							"data"
						],
						"properties": {
							"action": {
								"const": "entity"
							},
							"data": {
								"$ref": "#/x-schemas/Entity/Entity"
							}
						}
					}
				],
				"examples": [
					{
						"action": "entity",
						"context": {
							"source": "voice"
						},
						"data": {
							"entityType": "program",
							"programType": "movie",
							"entityId": "el-camino"
						}
					}
				]
			},
			"PlaybackIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to a the video player for a specific, playable entity, and bring that app to the foreground if needed.",
				"title": "PlaybackIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"required": [
							"data"
						],
						"properties": {
							"action": {
								"const": "playback"
							},
							"data": {
								"$ref": "#/x-schemas/Entity/PlayableEntity"
							}
						}
					}
				],
				"examples": [
					{
						"action": "playback",
						"data": {
							"entityType": "program",
							"programType": "episode",
							"entityId": "breaking-bad-pilot",
							"seriesId": "breaking-bad",
							"seasonId": "breaking-bad-season-1"
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"SearchIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to it's search UI with a search term populated, and bring that app to the foreground if needed.",
				"title": "SearchIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"properties": {
							"action": {
								"const": "search"
							},
							"data": {
								"type": "object",
								"required": [
									"query"
								],
								"properties": {
									"query": {
										"type": "string"
									},
									"suggestions": {
										"type": "array",
										"items": {
											"$ref": "#/x-schemas/Entity/Entity"
										}
									}
								},
								"additionalProperties": false
							}
						}
					}
				],
				"examples": [
					{
						"action": "search",
						"data": {
							"query": "walter white"
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"SectionIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to a section not covered by `home`, `entity`, `player`, or `search`, and bring that app to the foreground if needed.",
				"title": "SectionIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"properties": {
							"action": {
								"const": "section"
							},
							"data": {
								"type": "object",
								"required": [
									"sectionName"
								],
								"properties": {
									"sectionName": {
										"type": "string"
									}
								},
								"additionalProperties": false
							}
						},
						"required": [
							"data"
						]
					}
				],
				"examples": [
					{
						"action": "section",
						"data": {
							"sectionName": "settings"
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"TuneIntent": {
				"description": "A Firebolt compliant representation of a user intention to 'tune' to a traditional over-the-air broadcast, or an OTT Stream from an OTT or vMVPD App.",
				"title": "TuneIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"required": [
							"data"
						],
						"properties": {
							"action": {
								"const": "tune"
							},
							"data": {
								"type": "object",
								"required": [
									"entity"
								],
								"additionalProperties": false,
								"properties": {
									"entity": {
										"$ref": "#/x-schemas/Entity/ChannelEntity"
									},
									"options": {
										"description": "The options property of the data property MUST have only one of the following fields.",
										"type": "object",
										"required": [],
										"additionalProperties": false,
										"minProperties": 1,
										"maxProperties": 1,
										"properties": {
											"assetId": {
												"type": "string",
												"description": "The ID of a specific 'listing', as scoped by the target App's ID-space, which the App should begin playback from."
											},
											"restartCurrentProgram": {
												"type": "boolean",
												"description": "Denotes that the App should start playback at the most recent program boundary, rather than 'live.'"
											},
											"time": {
												"type": "string",
												"format": "date-time",
												"description": "ISO 8601 Date/Time where the App should begin playback from."
											}
										}
									}
								}
							}
						}
					}
				],
				"examples": [
					{
						"action": "tune",
						"data": {
							"entity": {
								"entityType": "channel",
								"channelType": "streaming",
								"entityId": "an-ott-channel"
							},
							"options": {
								"restartCurrentProgram": true
							}
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"PlayEntityIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to a the video player for a specific, playable entity, and bring that app to the foreground if needed.",
				"title": "PlayEntityIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"required": [
							"data"
						],
						"properties": {
							"action": {
								"const": "play-entity"
							},
							"data": {
								"type": "object",
								"properties": {
									"entity": {
										"$ref": "#/x-schemas/Entity/PlayableEntity"
									},
									"options": {
										"type": "object",
										"properties": {
											"playFirstId": {
												"type": "string"
											},
											"playFirstTrack": {
												"type": "integer",
												"minimum": 1
											}
										},
										"additionalProperties": false
									}
								},
								"required": [
									"entity"
								],
								"propertyNames": {
									"enum": [
										"entity",
										"options"
									]
								},
								"if": {
									"properties": {
										"entity": {
											"type": "object",
											"required": [
												"entityType"
											],
											"properties": {
												"entityType": {
													"const": "playlist"
												}
											}
										}
									}
								},
								"then": {
									"type": "object",
									"properties": {
										"options": {
											"type": "object",
											"maxProperties": 1
										}
									}
								},
								"else": {
									"type": "object",
									"properties": {
										"options": {
											"type": "object",
											"maxProperties": 0
										}
									}
								}
							}
						}
					}
				],
				"examples": [
					{
						"action": "play-entity",
						"data": {
							"entity": {
								"entityType": "playlist",
								"entityId": "playlist/xyz"
							},
							"options": {
								"playFirstId": "song/xyz"
							}
						},
						"context": {
							"source": "voice"
						}
					},
					{
						"action": "play-entity",
						"data": {
							"entity": {
								"entityType": "playlist",
								"entityId": "playlist/xyz"
							},
							"options": {
								"playFirstTrack": 3
							}
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"PlayQueryIntent": {
				"description": "A Firebolt compliant representation of a user intention to navigate an app to a the video player for an abstract query to be searched for and played by the app.",
				"title": "PlayQueryIntent",
				"allOf": [
					{
						"$ref": "#/x-schemas/Intents/Intent"
					},
					{
						"$ref": "#/x-schemas/Intents/IntentProperties"
					},
					{
						"type": "object",
						"required": [
							"data"
						],
						"properties": {
							"action": {
								"const": "play-query"
							},
							"data": {
								"type": "object",
								"properties": {
									"query": {
										"type": "string"
									},
									"options": {
										"type": "object",
										"properties": {
											"programTypes": {
												"type": "array",
												"items": {
													"$ref": "#/x-schemas/Entertainment/ProgramType"
												}
											},
											"musicTypes": {
												"type": "array",
												"items": {
													"$ref": "#/x-schemas/Entertainment/MusicType"
												}
											}
										},
										"additionalProperties": false
									}
								},
								"required": [
									"query"
								],
								"propertyNames": {
									"enum": [
										"query",
										"options"
									]
								}
							}
						}
					}
				],
				"examples": [
					{
						"action": "play-query",
						"data": {
							"query": "Ed Sheeran"
						},
						"context": {
							"source": "voice"
						}
					},
					{
						"action": "play-query",
						"data": {
							"query": "Ed Sheeran",
							"options": {
								"programTypes": [
									"movie"
								]
							}
						},
						"context": {
							"source": "voice"
						}
					},
					{
						"action": "play-query",
						"data": {
							"query": "Ed Sheeran",
							"options": {
								"programTypes": [
									"movie"
								],
								"musicTypes": [
									"song"
								]
							}
						},
						"context": {
							"source": "voice"
						}
					}
				]
			},
			"Intent": {
				"description": "A Firebolt compliant representation of a user intention.",
				"type": "object",
				"required": [
					"action",
					"context"
				],
				"properties": {
					"action": {
						"type": "string"
					},
					"context": {
						"type": "object",
						"required": [
							"source"
						],
						"properties": {
							"source": {
								"type": "string"
							}
						}
					}
				}
			},
			"IntentProperties": {
				"type": "object",
				"propertyNames": {
					"enum": [
						"action",
						"data",
						"context"
					]
				}
			}
		},
		"Lifecycle": {
			"uri": "https://meta.comcast.com/firebolt/lifecycle",
			"CloseReason": {
				"title": "CloseReason",
				"description": "The application close reason",
				"type": "string",
				"enum": [
					"remoteButton",
					"userExit",
					"done",
					"error"
				]
			},
			"LifecycleState": {
				"title": "LifecycleState",
				"description": "The application lifecycle state",
				"type": "string",
				"enum": [
					"initializing",
					"inactive",
					"foreground",
					"background",
					"unloading",
					"suspended"
				]
			}
		},
		"SecondScreen": {
			"uri": "https://meta.comcast.com/firebolt/secondscreen",
			"SecondScreenEvent": {
				"title": "SecondScreenEvent",
				"description": "An a message notification from a second screen device",
				"type": "object",
				"required": [
					"type"
				],
				"properties": {
					"type": {
						"type": "string",
						"enum": [
							"dial"
						]
					},
					"version": {
						"type": "string"
					},
					"data": {
						"type": "string"
					}
				}
			}
		}
	}
}