{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api-evangelist.com/schemas/dolby-io/dolby-io-subscribe-token-schema.json", "title": "Dolby OptiView Subscribe Token", "description": "Schema for the Subscribe Token request and response objects on the Dolby OptiView Real-time Streaming (Millicast) REST API.", "type": "object", "definitions": { "SubscribeTokenCreate": { "type": "object", "description": "Request body for POST /subscribe_token.", "required": ["label", "streams"], "properties": { "label": { "type": "string" }, "streams": { "type": "array", "items": { "type": "object", "properties": { "streamName": { "type": "string" }, "isRegex": { "type": "boolean", "default": false } }, "required": ["streamName"] } }, "allowedOrigins": { "type": "array", "items": { "type": "string" } }, "allowedIpAddresses": { "type": "array", "items": { "type": "string" } }, "bindIpsOnUsage": { "type": "integer", "description": "Number of IPs to bind on first usage." }, "allowedCountries": { "type": "array", "description": "ISO 3166-1 alpha-2 country codes permitted to view.", "items": { "type": "string" } }, "deniedCountries": { "type": "array", "items": { "type": "string" } }, "expiresOn": { "type": "string", "format": "date-time" } } }, "SubscribeToken": { "type": "object", "required": ["id", "token", "label", "streams"], "properties": { "id": { "type": "integer" }, "label": { "type": "string" }, "token": { "type": "string" }, "addedOn": { "type": "string", "format": "date-time" }, "expiresOn": { "type": "string", "format": "date-time" }, "isActive": { "type": "boolean" }, "streams": { "type": "array", "items": { "type": "object", "properties": { "streamName": { "type": "string" }, "isRegex": { "type": "boolean" } } } }, "allowedOrigins": { "type": "array", "items": { "type": "string" } }, "allowedIpAddresses": { "type": "array", "items": { "type": "string" } }, "allowedCountries": { "type": "array", "items": { "type": "string" } }, "deniedCountries": { "type": "array", "items": { "type": "string" } } } } } }