SiriKit Cloud Media icon

SiriKit Cloud Media

Connect to SiriKit Cloud Media with 1 MCP tools for AI-powered API automation.

COMMUNITYNO AUTH0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.1",
  "servers": [
    {
      "url": "https://cloudextension-testservice.local/api"
    }
  ],
  "info": {
    "contact": {
      "name": "Siri for Developers",
      "url": "https://developer.apple.com/siri/"
    },
    "title": "SiriKit Cloud Media",
    "version": "1.0.2",
    "x-apisguru-categories": [
      "media"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "sirikit-cloud-media.json",
        "version": "3.0"
      }
    ],
    "x-platform": "sirikit_media_api",
    "x-providerName": "apple.com",
    "x-serviceName": "sirikit-cloud-media",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "tags": [
    {
      "name": "config"
    },
    {
      "name": "intent"
    },
    {
      "name": "queues"
    }
  ],
  "paths": {
    "/configuration": {
      "get": {
        "operationId": "extensionConfiguration",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "Request-Timeout",
            "required": true,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-None-Match",
            "schema": {
              "$ref": "#/components/schemas/ExtensionConfigTag"
            }
          },
          {
            "in": "header",
            "name": "Cache-Control",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/jose": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionConfig"
                }
              }
            },
            "description": "",
            "headers": {
              "Cache-Control": {
                "example": "max-age=1800, must-revalidate, private",
                "required": true,
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "required": true,
                "schema": {
                  "$ref": "#/components/schemas/ExtensionConfigTag"
                }
              },
              "x-applecloudextension-session-id": {
                "schema": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          },
          "304": {
            "description": "",
            "headers": {
              "Cache-Control": {
                "example": "max-age=1800, must-revalidate, private",
                "required": true,
                "schema": {
                  "type": "string"
                }
              },
              "x-applecloudextension-session-id": {
                "schema": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Configuration Resource",
        "tags": [
          "config"
        ]
      }
    },
    "/intent/addMedia": {
      "post": {
        "operationId": "addMediaIntentHandling",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "Request-Timeout",
            "required": true,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/AddMediaIntentHandlingInvocation"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AddMediaIntentHandlingInvocationResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "",
            "headers": {
              "x-applecloudextension-session-id": {
                "schema": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "addMedia",
        "tags": [
          "intent"
        ]
      }
    },
    "/intent/playMedia": {
      "post": {
        "operationId": "playMediaIntentHandling",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "Request-Timeout",
            "required": true,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PlayMediaIntentHandlingInvocation"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PlayMediaIntentHandlingInvocationResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "",
            "headers": {
              "x-applecloudextension-session-id": {
                "schema": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "playMedia",
        "tags": [
          "intent"
        ]
      }
    },
    "/intent/updateMediaAffinity": {
      "post": {
        "operationId": "updateMediaAffinityIntentHandling",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "Request-Timeout",
            "required": true,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocationResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "",
            "headers": {
              "x-applecloudextension-session-id": {
                "schema": {
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "updateMediaAffinity",
        "tags": [
          "intent"
        ]
      }
    },
    "/queues/playMedia": {
      "post": {
        "operationId": "playMediaOnQueue",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayMediaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Queue"
                }
              }
            },
            "description": ""
          },
          "204": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "410": {
            "description": ""
          }
        },
        "summary": "playMedia",
        "tags": [
          "queues"
        ]
      }
    },
    "/queues/updateActivity": {
      "post": {
        "operationId": "updateActivityOnQueue",
        "parameters": [
          {
            "in": "header",
            "name": "x-applecloudextension-session-id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-applecloudextension-retry-count",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": true,
            "schema": {
              "maxLength": 250,
              "pattern": "AppleCloudExtension/([0-9]+\\.[0-9]+\\.[0-9]+) *.*",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Accept-Language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateActivityResponse"
                }
              }
            },
            "description": ""
          },
          "204": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "404": {
            "description": ""
          },
          "410": {
            "description": ""
          }
        },
        "summary": "updateActivity",
        "tags": [
          "queues"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AddMediaIntent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Intent"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "AddMediaIntent"
            ],
            "type": "string"
          },
          "mediaDestination": {
            "$ref": "#/components/schemas/MediaDestination"
          },
          "mediaItems": {
            "items": {
              "$ref": "#/components/schemas/MediaItem"
            },
            "type": "array"
          },
          "mediaSearch": {
            "$ref": "#/components/schemas/MediaSearch"
          }
        },
        "required": [
          "class"
        ],
        "type": "object"
      },
      "AddMediaIntentHandlingConfirmInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "AddMediaIntentHandling.confirm"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "response": {
                "$ref": "#/components/schemas/AddMediaIntentResponse"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "AddMediaIntentHandlingHandleInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "AddMediaIntentHandling.handle"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "response": {
                "$ref": "#/components/schemas/AddMediaIntentResponse"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "AddMediaIntentHandlingInvocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Invocation"
          }
        ],
        "discriminator": {
          "mapping": {
            "AddMediaIntentHandling.confirm": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.handle": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.resolveMediaDestination": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.resolveMediaItems": "#/components/schemas/AddMediaIntentHandlingInvocation"
          },
          "propertyName": "method"
        },
        "properties": {
          "method": {
            "enum": [
              "AddMediaIntentHandling.resolveMediaItems",
              "AddMediaIntentHandling.resolveMediaDestination",
              "AddMediaIntentHandling.confirm",
              "AddMediaIntentHandling.handle"
            ],
            "type": "string"
          },
          "params": {
            "nullable": false,
            "properties": {
              "intent": {
                "$ref": "#/components/schemas/AddMediaIntent"
              }
            },
            "required": [
              "intent"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "params"
        ],
        "type": "object"
      },
      "AddMediaIntentHandlingInvocationResponse": {
        "discriminator": {
          "mapping": {
            "AddMediaIntentHandling.confirm": "#/components/schemas/AddMediaIntentHandlingConfirmInvocationResponse",
            "AddMediaIntentHandling.handle": "#/components/schemas/AddMediaIntentHandlingHandleInvocationResponse",
            "AddMediaIntentHandling.resolveMediaDestination": "#/components/schemas/AddMediaIntentHandlingResolveMediaDestinationInvocationResponse",
            "AddMediaIntentHandling.resolveMediaItems": "#/components/schemas/AddMediaIntentHandlingResolveMediaItemsInvocationResponse",
            "ProtocolException": "#/components/schemas/ProtocolExceptionInvocationResponse"
          },
          "propertyName": "method"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AddMediaIntentHandlingResolveMediaItemsInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/AddMediaIntentHandlingResolveMediaDestinationInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/AddMediaIntentHandlingConfirmInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/AddMediaIntentHandlingHandleInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/ProtocolExceptionInvocationResponse"
          }
        ]
      },
      "AddMediaIntentHandlingResolveMediaDestinationInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "AddMediaIntentHandling.resolveMediaDestination"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/AddMediaMediaDestinationResolutionResult"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "AddMediaIntentHandlingResolveMediaItemsInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "AddMediaIntentHandling.resolveMediaItems"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "items": {
                  "$ref": "#/components/schemas/AddMediaMediaItemResolutionResult"
                },
                "type": "array"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "AddMediaIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResponse"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "AddMediaIntentResponse"
            ],
            "type": "string"
          },
          "code": {
            "$ref": "#/components/schemas/AddMediaIntentResponseCode"
          }
        },
        "required": [
          "class",
          "code"
        ],
        "type": "object"
      },
      "AddMediaIntentResponseCode": {
        "enum": [
          "unspecified",
          "ready",
          "inProgress",
          "success",
          "failure",
          "failureRequiringAppLaunch"
        ],
        "type": "string"
      },
      "AddMediaMediaDestinationResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "AddMediaMediaDestinationResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "mediaDestinationToConfirm": {
                "$ref": "#/components/schemas/MediaDestination"
              }
            },
            "required": [
              "mediaDestinationToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "disambiguation": {
            "properties": {
              "mediaDestinationsToDisambiguate": {
                "items": {
                  "$ref": "#/components/schemas/MediaDestination"
                },
                "minItems": 2,
                "type": "array"
              }
            },
            "required": [
              "mediaDestinationsToDisambiguate"
            ],
            "type": "object",
            "x-flow-exception": "Requires Disambiguation"
          },
          "success": {
            "properties": {
              "resolvedMediaDestination": {
                "$ref": "#/components/schemas/MediaDestination"
              }
            },
            "required": [
              "resolvedMediaDestination"
            ],
            "type": "object"
          },
          "unsupported": {
            "properties": {
              "reason": {
                "$ref": "#/components/schemas/AddMediaMediaDestinationUnsupportedReason"
              }
            },
            "type": "object",
            "x-flow-exception": "Unsupported"
          }
        },
        "type": "object"
      },
      "AddMediaMediaDestinationUnsupportedReason": {
        "enum": [
          "playlistNameNotFound",
          "playlistNotEditable"
        ],
        "type": "string"
      },
      "AddMediaMediaItemResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "AddMediaMediaItemResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "mediaItemToConfirm": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "mediaItemToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "disambiguation": {
            "properties": {
              "mediaItemsToDisambiguate": {
                "items": {
                  "$ref": "#/components/schemas/MediaItem"
                },
                "minItems": 2,
                "type": "array"
              }
            },
            "required": [
              "mediaItemsToDisambiguate"
            ],
            "type": "object"
          },
          "success": {
            "properties": {
              "resolvedMediaItem": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "resolvedMediaItem"
            ],
            "type": "object"
          },
          "unsupported": {
            "properties": {
              "reason": {
                "$ref": "#/components/schemas/AddMediaMediaItemUnsupportedReason"
              }
            },
            "type": "object",
            "x-flow-exception": "Unsupported"
          }
        },
        "type": "object"
      },
      "AddMediaMediaItemUnsupportedReason": {
        "enum": [
          "loginRequired",
          "subscriptionRequired",
          "unsupportedMediaType",
          "explicitContentSettings",
          "restrictedContent",
          "regionRestriction"
        ],
        "type": "string"
      },
      "BooleanResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "BooleanResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "valueToConfirm": {
                "type": "boolean"
              }
            },
            "required": [
              "valueToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "success": {
            "properties": {
              "resolvedValue": {
                "type": "boolean"
              }
            },
            "required": [
              "resolvedValue"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "Constraints": {
        "properties": {
          "allowExplicitContent": {
            "default": true,
            "type": "boolean"
          },
          "maximumQueueSegmentItemCount": {
            "default": 1000,
            "format": "uint32",
            "maximum": 1000,
            "minimum": 50,
            "type": "integer"
          },
          "updateUserTasteProfile": {
            "default": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Content": {
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ContentAttributes"
          },
          "control": {
            "default": "default",
            "example": "song",
            "type": "string"
          },
          "identifier": {
            "$ref": "#/components/schemas/ContentIdentifier"
          },
          "isLive": {
            "type": "boolean"
          },
          "playIndex": {
            "format": "uint64",
            "type": "integer"
          },
          "url": {
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "identifier"
        ],
        "type": "object"
      },
      "ContentAttributes": {
        "properties": {
          "albumName": {
            "example": "Blood On the Tracks",
            "maxLength": 250,
            "type": "string"
          },
          "artistName": {
            "example": "Bob Dylan",
            "maxLength": 1000,
            "type": "string"
          },
          "artwork": {
            "properties": {
              "url": {
                "maxLength": 2000,
                "type": "string"
              }
            },
            "type": "object"
          },
          "composerName": {
            "example": "B. Dylan",
            "maxLength": 250,
            "type": "string"
          },
          "durationInMillis": {
            "format": "uint64",
            "type": "integer"
          },
          "genreNames": {
            "items": {
              "maxLength": 250,
              "type": "string"
            },
            "maxItems": 30,
            "type": "array"
          },
          "name": {
            "example": "Tangled Up In Blue",
            "maxLength": 250,
            "type": "string"
          },
          "trackNumber": {
            "example": 1,
            "format": "uint32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ContentIdentifier": {
        "example": "j15f8A3cuU0GG",
        "maxLength": 1000,
        "minLength": 1,
        "type": "string"
      },
      "DateComponents": {
        "example": "1980",
        "oneOf": [
          {
            "pattern": "[0-9]{4}",
            "type": "string"
          },
          {
            "pattern": "[0-9]{4}-[0-9]{2}",
            "type": "string"
          },
          {
            "format": "date",
            "type": "string"
          },
          {
            "format": "date-time",
            "type": "string"
          },
          {
            "$ref": "#/components/schemas/ExplicitDateComponents"
          }
        ]
      },
      "DateComponentsRange": {
        "properties": {
          "endDateComponents": {
            "$ref": "#/components/schemas/DateComponents"
          },
          "startDateComponents": {
            "$ref": "#/components/schemas/DateComponents"
          }
        },
        "type": "object"
      },
      "ExecutionMetrics": {
        "properties": {
          "completed": {
            "format": "date-time",
            "type": "string"
          },
          "duration": {
            "format": "float",
            "type": "number"
          },
          "received": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ExplicitDateComponents": {
        "properties": {
          "calendarIdentifier": {
            "type": "string"
          },
          "day": {
            "format": "int32",
            "type": "integer"
          },
          "era": {
            "format": "int32",
            "type": "integer"
          },
          "hour": {
            "format": "int32",
            "type": "integer"
          },
          "minute": {
            "format": "int32",
            "type": "integer"
          },
          "month": {
            "format": "int32",
            "type": "integer"
          },
          "nanosecond": {
            "format": "int32",
            "type": "integer"
          },
          "second": {
            "format": "int32",
            "type": "integer"
          },
          "timeZone": {
            "type": "string"
          },
          "year": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ExtensionConfig": {
        "properties": {
          "hdr": {
            "example": {
              "x-client-type": "headless",
              "x-service-affinity": "cluster1"
            },
            "type": "object"
          },
          "intent": {
            "properties": {
              "addMedia": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ExtensionEndpointConfig"
                  }
                ],
                "properties": {
                  "opt": {
                    "items": {
                      "enum": [
                        "resolveMediaDestination",
                        "confirm"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "hdr": {
                "example": {
                  "x-service-affinity": "intent2"
                },
                "type": "object"
              },
              "playMedia": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ExtensionEndpointConfig"
                  }
                ],
                "properties": {
                  "opt": {
                    "items": {
                      "enum": [
                        "resolvePlayShuffled",
                        "resolvePlaybackRepeatMode",
                        "resolvePlaybackQueueLocation",
                        "resolveResumePlayback"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "updateMediaAffinity": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ExtensionEndpointConfig"
                  }
                ],
                "properties": {
                  "opt": {
                    "items": {
                      "enum": [
                        "resolveAffinityType"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "playMedia"
            ],
            "type": "object"
          },
          "media": {
            "properties": {
              "queues": {
                "properties": {
                  "hdr": {
                    "example": {
                      "x-content-min-ttl": 1200,
                      "x-media-catalog-region": "en_US"
                    },
                    "type": "object"
                  },
                  "playMedia": {
                    "properties": {
                      "hdr": {
                        "example": {
                          "x-headless-client": true
                        },
                        "type": "object"
                      },
                      "url": {
                        "default": "/queues/playMedia",
                        "maxLength": 4000,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "updateActivity": {
                    "properties": {
                      "hdr": {
                        "type": "object"
                      },
                      "url": {
                        "default": "/queues/updateActivity",
                        "maxLength": 4000,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "url": {
            "example": "/v2",
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          },
          "version": {
            "example": "1.0.0",
            "pattern": "([0-9]+[.]){2}[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "intent",
          "media"
        ],
        "type": "object"
      },
      "ExtensionConfigTag": {
        "maxLength": 1002,
        "pattern": "[\"][ -~]{1000}[\"]",
        "type": "string"
      },
      "ExtensionEndpointConfig": {
        "properties": {
          "hdr": {
            "type": "object"
          },
          "url": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Intent": {
        "discriminator": {
          "mapping": {
            "AddMediaIntent": "#/components/schemas/AddMediaIntent",
            "PlayMediaIntent": "#/components/schemas/PlayMediaIntent",
            "UpdateMediaAffinityIntent": "#/components/schemas/UpdateMediaAffinityIntent"
          },
          "propertyName": "class"
        },
        "properties": {
          "class": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          }
        },
        "required": [
          "class",
          "identifier"
        ],
        "type": "object"
      },
      "IntentResolutionResult": {
        "discriminator": {
          "mapping": {
            "AddMediaMediaItemResolutionResult": "#/components/schemas/AddMediaMediaItemResolutionResult",
            "BooleanResolutionResult": "#/components/schemas/BooleanResolutionResult",
            "MediaAffinityTypeResolutionResult": "#/components/schemas/MediaAffinityTypeResolutionResult",
            "PlayMediaMediaItemResolutionResult": "#/components/schemas/PlayMediaMediaItemResolutionResult",
            "PlaybackQueueLocationResolutionResult": "#/components/schemas/PlaybackQueueLocationResolutionResult",
            "UpdateMediaAffinityMediaItemResolutionResult": "#/components/schemas/UpdateMediaAffinityMediaItemResolutionResult"
          },
          "propertyName": "class"
        },
        "properties": {
          "class": {
            "type": "string"
          },
          "needsValue": {
            "type": "object",
            "x-flow-exception": "Failure"
          },
          "notRequired": {
            "type": "object"
          },
          "unsupported": {
            "type": "object",
            "x-flow-exception": "Failure"
          }
        },
        "required": [
          "class"
        ],
        "type": "object"
      },
      "IntentResponse": {
        "discriminator": {
          "mapping": {
            "AddMediaIntentResponse": "#/components/schemas/AddMediaIntentResponse",
            "PlayMediaIntentResponse": "#/components/schemas/PlayMediaIntentResponse",
            "UpdateMediaAffinityIntentResponse": "#/components/schemas/UpdateMediaAffinityIntentResponse"
          },
          "propertyName": "class"
        },
        "properties": {
          "class": {
            "type": "string"
          },
          "userActivity": {
            "$ref": "#/components/schemas/UserActivity"
          }
        },
        "required": [
          "class",
          "userActivity"
        ],
        "type": "object"
      },
      "Invocation": {
        "discriminator": {
          "mapping": {
            "AddMediaIntentHandling.confirm": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.handle": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.resolveMediaDestination": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "AddMediaIntentHandling.resolveMediaItems": "#/components/schemas/AddMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.handle": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.resolveMediaItems": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.resolvePlayShuffled": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.resolvePlaybackQueueLocation": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.resolvePlaybackRepeatMode": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "PlayMediaIntentHandling.resolveResumePlayback": "#/components/schemas/PlayMediaIntentHandlingInvocation",
            "UpdateMediaAffinityIntentHandling.handle": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation",
            "UpdateMediaAffinityIntentHandling.resolveAffinityType": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation",
            "UpdateMediaAffinityIntentHandling.resolveMediaItems": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation"
          },
          "propertyName": "method"
        },
        "properties": {
          "method": {
            "type": "string"
          },
          "params": {
            "nullable": true,
            "type": "object"
          },
          "session": {
            "$ref": "#/components/schemas/Session"
          }
        },
        "required": [
          "method",
          "params"
        ],
        "type": "object"
      },
      "InvocationResponse": {
        "discriminator": {
          "mapping": {
            "AddMediaIntentHandling.confirm": "#/components/schemas/AddMediaIntentHandlingConfirmInvocationResponse",
            "AddMediaIntentHandling.handle": "#/components/schemas/AddMediaIntentHandlingHandleInvocationResponse",
            "AddMediaIntentHandling.resolveMediaDestination": "#/components/schemas/AddMediaIntentHandlingResolveMediaDestinationInvocationResponse",
            "AddMediaIntentHandling.resolveMediaItems": "#/components/schemas/AddMediaIntentHandlingResolveMediaItemsInvocationResponse",
            "PlayMediaIntentHandling.handle": "#/components/schemas/PlayMediaIntentHandlingHandleInvocationResponse",
            "PlayMediaIntentHandling.resolveMediaItems": "#/components/schemas/PlayMediaIntentHandlingResolveMediaItemsInvocationResponse",
            "PlayMediaIntentHandling.resolvePlayShuffled": "#/components/schemas/PlayMediaIntentHandlingResolvePlayShuffledInvocationResponse",
            "PlayMediaIntentHandling.resolvePlaybackQueueLocation": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackQueueLocationInvocationResponse",
            "PlayMediaIntentHandling.resolvePlaybackRepeatMode": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackRepeatModeInvocationResponse",
            "PlayMediaIntentHandling.resolveResumePlayback": "#/components/schemas/PlayMediaIntentHandlingResolveResumePlaybackInvocationResponse",
            "ProtocolException": "#/components/schemas/ProtocolExceptionInvocationResponse",
            "UpdateMediaAffinityIntentHandling.handle": "#/components/schemas/UpdateMediaAffinityIntentHandlingHandleInvocationResponse",
            "UpdateMediaAffinityIntentHandling.resolveAffinityType": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveAffinityTypeInvocationResponse",
            "UpdateMediaAffinityIntentHandling.resolveMediaItems": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveMediaItemsInvocationResponse"
          },
          "propertyName": "method"
        },
        "properties": {
          "debug": {
            "$ref": "#/components/schemas/ServiceDebugReference"
          },
          "method": {
            "type": "string"
          },
          "metrics": {
            "$ref": "#/components/schemas/ExecutionMetrics"
          },
          "result": {
            "nullable": true,
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "MediaAffinityType": {
        "enum": [
          "unknown",
          "like",
          "dislike"
        ],
        "type": "string"
      },
      "MediaAffinityTypeResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "MediaAffinityTypeResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "mediaAffinityTypeToConfirm": {
                "$ref": "#/components/schemas/MediaAffinityType"
              }
            },
            "required": [
              "mediaAffinityTypeToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "success": {
            "properties": {
              "resolvedMediaAffinityType": {
                "$ref": "#/components/schemas/MediaAffinityType"
              }
            },
            "required": [
              "resolvedMediaAffinityType"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "MediaDestination": {
        "discriminator": {
          "mapping": {
            "library": "#/components/schemas/MediaDestinationLibrary",
            "playlist": "#/components/schemas/MediaDestinationPlaylist"
          },
          "propertyName": "mediaDestinationType"
        },
        "properties": {
          "mediaDestinationType": {
            "enum": [
              "library",
              "playlist"
            ],
            "type": "string"
          }
        },
        "required": [
          "mediaDestinationType"
        ],
        "type": "object"
      },
      "MediaDestinationLibrary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MediaDestination"
          }
        ],
        "properties": {
          "mediaDestinationType": {
            "enum": [
              "library"
            ],
            "type": "string"
          }
        },
        "required": [
          "mediaDestinationType"
        ],
        "type": "object"
      },
      "MediaDestinationPlaylist": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MediaDestination"
          }
        ],
        "properties": {
          "mediaDestinationType": {
            "enum": [
              "playlist"
            ],
            "type": "string"
          },
          "playlistName": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "mediaDestinationType",
          "playlistName"
        ],
        "type": "object"
      },
      "MediaItem": {
        "properties": {
          "artist": {
            "maxLength": 1000,
            "readOnly": true,
            "type": "string"
          },
          "identifier": {
            "maxLength": 250,
            "type": "string"
          },
          "title": {
            "maxLength": 1000,
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/MediaItemType"
          }
        },
        "required": [
          "type",
          "identifier"
        ],
        "type": "object"
      },
      "MediaItemType": {
        "enum": [
          "unknown",
          "song",
          "album",
          "artist",
          "genre",
          "playlist",
          "podcastShow",
          "podcastEpisode",
          "podcastPlaylist",
          "musicStation",
          "audioBook",
          "movie",
          "tvShow",
          "tvShowEpisode",
          "musicVideo",
          "podcastStation",
          "radioStation",
          "station",
          "music",
          "algorithmicRadioStation",
          "news"
        ],
        "type": "string"
      },
      "MediaReference": {
        "enum": [
          "unknown",
          "currentlyPlaying",
          "my"
        ],
        "type": "string"
      },
      "MediaSearch": {
        "properties": {
          "albumName": {
            "type": "string"
          },
          "artistName": {
            "type": "string"
          },
          "genreNames": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mediaIdentifier": {
            "type": "string"
          },
          "mediaName": {
            "type": "string"
          },
          "mediaType": {
            "$ref": "#/components/schemas/MediaItemType"
          },
          "moodNames": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "reference": {
            "$ref": "#/components/schemas/MediaReference"
          },
          "releaseDate": {
            "$ref": "#/components/schemas/DateComponentsRange"
          },
          "sortOrder": {
            "$ref": "#/components/schemas/MediaSortOrder"
          }
        },
        "type": "object"
      },
      "MediaSortOrder": {
        "enum": [
          "unknown",
          "newest",
          "oldest",
          "best",
          "worst",
          "popular",
          "unpopular",
          "trending",
          "recommended"
        ],
        "type": "string"
      },
      "PlayMediaControl": {
        "properties": {
          "activity": {
            "$ref": "#/components/schemas/PlayMediaControlActivity"
          },
          "commands": {
            "$ref": "#/components/schemas/PlayMediaControlCommandSet"
          },
          "scheme": {
            "$ref": "#/components/schemas/PlayMediaControlScheme"
          }
        },
        "required": [
          "scheme"
        ],
        "type": "object"
      },
      "PlayMediaControlActivity": {
        "properties": {
          "playElapsed": {
            "format": "uint32",
            "minimum": 5,
            "type": "integer"
          },
          "playElapsedInterval": {
            "format": "uint32",
            "minimum": 5,
            "type": "integer"
          },
          "playPaused": {
            "default": 5,
            "format": "uint32",
            "maximum": 60,
            "minimum": 5,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PlayMediaControlCommandSet": {
        "properties": {
          "bookmarkTrack": {
            "type": "boolean"
          },
          "dislikeTrack": {
            "type": "boolean"
          },
          "likeTrack": {
            "type": "boolean"
          },
          "nextTrack": {
            "type": "boolean"
          },
          "preferSkipBackward": {
            "type": "boolean"
          },
          "preferSkipForward": {
            "type": "boolean"
          },
          "previousTrack": {
            "type": "boolean"
          },
          "seekToPlaybackPosition": {
            "type": "boolean"
          },
          "skipBackward": {
            "type": "boolean"
          },
          "skipForward": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "PlayMediaControlScheme": {
        "enum": [
          "custom",
          "onDemand",
          "internetRadio",
          "liveStreaming",
          "audioBook",
          "podcast",
          "advertisement"
        ],
        "type": "string"
      },
      "PlayMediaIntent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Intent"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "PlayMediaIntent"
            ],
            "type": "string"
          },
          "mediaItems": {
            "items": {
              "$ref": "#/components/schemas/MediaItem"
            },
            "type": "array"
          },
          "mediaSearch": {
            "$ref": "#/components/schemas/MediaSearch"
          },
          "playShuffled": {
            "type": "boolean"
          },
          "playbackQueueLocation": {
            "$ref": "#/components/schemas/PlaybackQueueLocation"
          },
          "playbackRepeatMode": {
            "$ref": "#/components/schemas/PlaybackRepeatMode"
          },
          "playbackSpeed": {
            "format": "double",
            "type": "number"
          },
          "resumePlayback": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "PlayMediaIntentHandlingHandleInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.handle"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "response": {
                "$ref": "#/components/schemas/PlayMediaIntentResponse"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingInvocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Invocation"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolveMediaItems",
              "PlayMediaIntentHandling.resolvePlayShuffled",
              "PlayMediaIntentHandling.resolvePlaybackQueueLocation",
              "PlayMediaIntentHandling.resolvePlaybackRepeatMode",
              "PlayMediaIntentHandling.resolveResumePlayback",
              "PlayMediaIntentHandling.handle"
            ],
            "type": "string"
          },
          "params": {
            "nullable": false,
            "properties": {
              "intent": {
                "$ref": "#/components/schemas/PlayMediaIntent"
              }
            },
            "required": [
              "intent"
            ],
            "type": "object"
          }
        },
        "required": [
          "params",
          "method"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingInvocationResponse": {
        "discriminator": {
          "mapping": {
            "PlayMediaIntentHandling.handle": "#/components/schemas/PlayMediaIntentHandlingHandleInvocationResponse",
            "PlayMediaIntentHandling.resolveMediaItems": "#/components/schemas/PlayMediaIntentHandlingResolveMediaItemsInvocationResponse",
            "PlayMediaIntentHandling.resolvePlayShuffled": "#/components/schemas/PlayMediaIntentHandlingResolvePlayShuffledInvocationResponse",
            "PlayMediaIntentHandling.resolvePlaybackQueueLocation": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackQueueLocationInvocationResponse",
            "PlayMediaIntentHandling.resolvePlaybackRepeatMode": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackRepeatModeInvocationResponse",
            "PlayMediaIntentHandling.resolveResumePlayback": "#/components/schemas/PlayMediaIntentHandlingResolveResumePlaybackInvocationResponse",
            "ProtocolException": "#/components/schemas/ProtocolExceptionInvocationResponse"
          },
          "propertyName": "method"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingResolveMediaItemsInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingResolvePlayShuffledInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackQueueLocationInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingResolvePlaybackRepeatModeInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingResolveResumePlaybackInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/PlayMediaIntentHandlingHandleInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/ProtocolExceptionInvocationResponse"
          }
        ]
      },
      "PlayMediaIntentHandlingResolveMediaItemsInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolveMediaItems"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "items": {
                  "$ref": "#/components/schemas/PlayMediaMediaItemResolutionResult"
                },
                "type": "array"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingResolvePlayShuffledInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolvePlayShuffled"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/BooleanResolutionResult"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingResolvePlaybackQueueLocationInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolvePlaybackQueueLocation"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/PlaybackQueueLocationResolutionResult"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingResolvePlaybackRepeatModeInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolvePlaybackRepeatMode"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/PlaybackRepeatModeResolutionResult"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentHandlingResolveResumePlaybackInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "PlayMediaIntentHandling.resolveResumePlayback"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/BooleanResolutionResult"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "PlayMediaIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResponse"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "PlayMediaIntentResponse"
            ],
            "type": "string"
          },
          "code": {
            "$ref": "#/components/schemas/PlayMediaIntentResponseCode"
          }
        },
        "required": [
          "class",
          "code"
        ],
        "type": "object"
      },
      "PlayMediaIntentResponseCode": {
        "enum": [
          "unspecified",
          "success",
          "failure",
          "failureRequiringAppLaunch",
          "failureUnknownMediaType",
          "failureNoUnplayedContent",
          "failureRestrictedContent"
        ],
        "type": "string"
      },
      "PlayMediaMediaItemResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "PlayMediaMediaItemResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "mediaItemToConfirm": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "mediaItemToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "disambiguation": {
            "properties": {
              "mediaItemsToDisambiguate": {
                "items": {
                  "$ref": "#/components/schemas/MediaItem"
                },
                "minItems": 2,
                "type": "array"
              }
            },
            "required": [
              "mediaItemsToDisambiguate"
            ],
            "type": "object",
            "x-flow-exception": "Requires Disambiguation"
          },
          "success": {
            "properties": {
              "resolvedMediaItem": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "resolvedMediaItem"
            ],
            "type": "object"
          },
          "unsupported": {
            "properties": {
              "reason": {
                "$ref": "#/components/schemas/PlayMediaMediaItemUnsupportedReason"
              }
            },
            "type": "object",
            "x-flow-exception": "Unsupported"
          }
        },
        "type": "object"
      },
      "PlayMediaMediaItemUnsupportedReason": {
        "enum": [
          "loginRequired",
          "subscriptionRequired",
          "unsupportedMediaType",
          "explicitContentSettings",
          "restrictedContent",
          "regionRestriction"
        ],
        "type": "string"
      },
      "PlayMediaRequest": {
        "properties": {
          "constraints": {
            "$ref": "#/components/schemas/Constraints"
          },
          "userActivity": {
            "$ref": "#/components/schemas/UserActivity"
          },
          "version": {
            "pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "userActivity",
          "constraints"
        ],
        "type": "object"
      },
      "PlaybackQueueLocation": {
        "enum": [
          "unknown",
          "now",
          "next",
          "later"
        ],
        "type": "string"
      },
      "PlaybackQueueLocationResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "PlaybackQueueLocationResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "playbackQueueLocationToConfirm": {
                "$ref": "#/components/schemas/PlaybackQueueLocation"
              }
            },
            "required": [
              "playbackQueueLocationToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "success": {
            "properties": {
              "resolvedPlaybackQueueLocation": {
                "$ref": "#/components/schemas/PlaybackQueueLocation"
              }
            },
            "required": [
              "resolvedPlaybackQueueLocation"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "PlaybackRepeatMode": {
        "enum": [
          "unknown",
          "none",
          "all",
          "one"
        ],
        "type": "string"
      },
      "PlaybackRepeatModeResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "PlaybackRepeatModeResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "playbackRepeatModeToConfirm": {
                "$ref": "#/components/schemas/PlaybackRepeatMode"
              }
            },
            "required": [
              "playbackRepeatModeToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "success": {
            "properties": {
              "resolvedPlaybackRepeatMode": {
                "$ref": "#/components/schemas/PlaybackRepeatMode"
              }
            },
            "required": [
              "resolvedPlaybackRepeatMode"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "PlayerContext": {
        "properties": {
          "activityIdentifier": {
            "maxLength": 250,
            "type": "string"
          },
          "contentIdentifier": {
            "$ref": "#/components/schemas/ContentIdentifier"
          },
          "offsetInMillis": {
            "example": 10942,
            "format": "int64",
            "type": "integer"
          },
          "playbackSpeed": {
            "default": 1,
            "format": "double",
            "type": "number"
          },
          "queueIdentifier": {
            "$ref": "#/components/schemas/QueueIdentifier"
          }
        },
        "type": "object"
      },
      "ProtocolException": {
        "properties": {
          "code": {
            "format": "int64",
            "type": "integer"
          },
          "methodIndex": {
            "format": "uint32",
            "type": "integer"
          },
          "methodName": {
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/ProtocolExceptionReason"
          },
          "retryWithDelay": {
            "default": -1,
            "format": "float",
            "type": "number"
          },
          "trace": {
            "items": {
              "maxLength": 1000,
              "type": "string"
            },
            "maxItems": 64,
            "type": "array"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "ProtocolExceptionInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "exception": {
            "$ref": "#/components/schemas/ProtocolException"
          },
          "method": {
            "enum": [
              "ProtocolException"
            ],
            "type": "string"
          }
        },
        "required": [
          "method",
          "exception"
        ],
        "type": "object"
      },
      "ProtocolExceptionReason": {
        "enum": [
          "unsupported",
          "unauthorized",
          "unexpected",
          "invalid",
          "unparseable",
          "deprecated",
          "internal",
          "complex",
          "busy"
        ],
        "type": "string"
      },
      "Queue": {
        "properties": {
          "content": {
            "items": {
              "$ref": "#/components/schemas/Content"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "contentItemsCount": {
            "format": "uint32",
            "nullable": true,
            "type": "integer"
          },
          "controls": {
            "$ref": "#/components/schemas/QueueControlMapping"
          },
          "identifier": {
            "$ref": "#/components/schemas/QueueIdentifier"
          },
          "insertPointer": {
            "$ref": "#/components/schemas/QueueInsertPointer"
          },
          "nextContentUrl": {
            "maxLength": 2000,
            "minLength": 1,
            "nullable": true,
            "type": "string"
          },
          "playPointer": {
            "$ref": "#/components/schemas/QueuePlayPointer"
          },
          "prerollSeconds": {
            "format": "double",
            "type": "number"
          },
          "previousContentUrl": {
            "maxLength": 2000,
            "minLength": 1,
            "nullable": true,
            "type": "string"
          },
          "skipsRemaining": {
            "format": "uint32",
            "nullable": true,
            "type": "integer"
          },
          "version": {
            "maxLength": 25,
            "pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "identifier",
          "content"
        ],
        "type": "object"
      },
      "QueueActivityReportEvent": {
        "enum": [
          "local.playing.elapsed",
          "local.playing.paused",
          "local.playing.continued",
          "local.playing.scrub",
          "local.playing.fastForward",
          "local.playing.fastRewind",
          "local.playing.transitioned.naturally",
          "local.playing.transitioned.skip_next",
          "local.playing.transitioned.skip_previous",
          "local.playing.transitioned.queue_replaced",
          "local.stopped.naturally",
          "local.stopped.skip_past_end",
          "local.command.like",
          "local.command.dislike",
          "local.command.bookmark"
        ],
        "type": "string"
      },
      "QueueControlMapping": {
        "additionalProperties": {
          "$ref": "#/components/schemas/PlayMediaControl"
        },
        "properties": {
          "default": {
            "$ref": "#/components/schemas/PlayMediaControl"
          }
        },
        "required": [
          "default"
        ],
        "type": "object"
      },
      "QueueIdentifier": {
        "example": "u104823q8201",
        "maxLength": 1024,
        "minLength": 1,
        "type": "string"
      },
      "QueueInsertPointer": {
        "properties": {
          "afterIdentifier": {
            "$ref": "#/components/schemas/ContentIdentifier"
          },
          "replace": {
            "default": false,
            "type": "boolean"
          }
        }
      },
      "QueuePlayPointer": {
        "nullable": true,
        "properties": {
          "contentIdentifier": {
            "$ref": "#/components/schemas/ContentIdentifier"
          },
          "offsetInMillis": {
            "example": 10942,
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ServiceDebugReference": {
        "format": "uri",
        "maxLength": 2000,
        "type": "string"
      },
      "Session": {
        "properties": {
          "constraints": {
            "$ref": "#/components/schemas/Constraints"
          },
          "deadline": {
            "format": "date-time",
            "type": "string"
          },
          "identifier": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "playerContext": {
            "$ref": "#/components/schemas/PlayerContext"
          },
          "requested": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "identifier",
          "constraints",
          "deadline",
          "requested"
        ],
        "type": "object"
      },
      "UpdateActivityRequest": {
        "properties": {
          "constraints": {
            "$ref": "#/components/schemas/Constraints"
          },
          "nowPlaying": {
            "$ref": "#/components/schemas/PlayerContext"
          },
          "previouslyPlaying": {
            "$ref": "#/components/schemas/PlayerContext"
          },
          "report": {
            "$ref": "#/components/schemas/QueueActivityReportEvent"
          },
          "timestamp": {
            "format": "date-time",
            "type": "string"
          },
          "userActivity": {
            "$ref": "#/components/schemas/UserActivity"
          },
          "version": {
            "pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "timestamp",
          "report",
          "userActivity"
        ],
        "type": "object"
      },
      "UpdateActivityResponse": {
        "properties": {
          "queue": {
            "$ref": "#/components/schemas/Queue"
          },
          "userActivity": {
            "$ref": "#/components/schemas/UserActivity"
          }
        },
        "type": "object"
      },
      "UpdateMediaAffinityIntent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Intent"
          }
        ],
        "properties": {
          "affinityType": {
            "$ref": "#/components/schemas/MediaAffinityType"
          },
          "class": {
            "enum": [
              "UpdateMediaAffinityIntent"
            ],
            "type": "string"
          },
          "mediaItems": {
            "items": {
              "$ref": "#/components/schemas/MediaItem"
            },
            "type": "array"
          },
          "mediaSearch": {
            "$ref": "#/components/schemas/MediaSearch"
          }
        },
        "required": [
          "class"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentHandlingHandleInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "UpdateMediaAffinityIntentHandling.handle"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "response": {
                "$ref": "#/components/schemas/UpdateMediaAffinityIntentResponse"
              }
            },
            "required": [
              "response"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentHandlingInvocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Invocation"
          }
        ],
        "discriminator": {
          "mapping": {
            "UpdateMediaAffinityIntentHandling.handle": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation",
            "UpdateMediaAffinityIntentHandling.resolveAffinityType": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation",
            "UpdateMediaAffinityIntentHandling.resolveMediaItems": "#/components/schemas/UpdateMediaAffinityIntentHandlingInvocation"
          },
          "propertyName": "method"
        },
        "properties": {
          "method": {
            "enum": [
              "UpdateMediaAffinityIntentHandling.resolveMediaItems",
              "UpdateMediaAffinityIntentHandling.resolveAffinityType",
              "UpdateMediaAffinityIntentHandling.handle"
            ],
            "type": "string"
          },
          "params": {
            "nullable": false,
            "properties": {
              "intent": {
                "$ref": "#/components/schemas/UpdateMediaAffinityIntent"
              }
            },
            "required": [
              "intent"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "params"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentHandlingInvocationResponse": {
        "discriminator": {
          "mapping": {
            "ProtocolException": "#/components/schemas/ProtocolExceptionInvocationResponse",
            "UpdateMediaAffinityIntentHandling.handle": "#/components/schemas/UpdateMediaAffinityIntentHandlingHandleInvocationResponse",
            "UpdateMediaAffinityIntentHandling.resolveAffinityType": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveAffinityTypeInvocationResponse",
            "UpdateMediaAffinityIntentHandling.resolveMediaItems": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveMediaItemsInvocationResponse"
          },
          "propertyName": "method"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveMediaItemsInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/UpdateMediaAffinityIntentHandlingResolveAffinityTypeInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/UpdateMediaAffinityIntentHandlingHandleInvocationResponse"
          },
          {
            "$ref": "#/components/schemas/ProtocolExceptionInvocationResponse"
          }
        ]
      },
      "UpdateMediaAffinityIntentHandlingResolveAffinityTypeInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "UpdateMediaAffinityIntentHandling.resolveAffinityType"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "$ref": "#/components/schemas/MediaAffinityTypeResolutionResult"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentHandlingResolveMediaItemsInvocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvocationResponse"
          }
        ],
        "properties": {
          "method": {
            "enum": [
              "UpdateMediaAffinityIntentHandling.resolveMediaItems"
            ],
            "type": "string"
          },
          "result": {
            "nullable": false,
            "properties": {
              "resolutionResult": {
                "items": {
                  "$ref": "#/components/schemas/UpdateMediaAffinityMediaItemResolutionResult"
                },
                "type": "array"
              }
            },
            "required": [
              "resolutionResult"
            ],
            "type": "object"
          }
        },
        "required": [
          "method",
          "result"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResponse"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "UpdateMediaAffinityIntentResponse"
            ],
            "type": "string"
          },
          "code": {
            "$ref": "#/components/schemas/UpdateMediaAffinityIntentResponseCode"
          }
        },
        "required": [
          "class",
          "code"
        ],
        "type": "object"
      },
      "UpdateMediaAffinityIntentResponseCode": {
        "enum": [
          "unspecified",
          "inProgress",
          "success",
          "failure",
          "failureRequiringAppLaunch"
        ],
        "type": "string"
      },
      "UpdateMediaAffinityMediaItemResolutionResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntentResolutionResult"
          }
        ],
        "properties": {
          "class": {
            "enum": [
              "UpdateMediaAffinityMediaItemResolutionResult"
            ],
            "type": "string"
          },
          "confirmationRequired": {
            "properties": {
              "mediaItemToConfirm": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "mediaItemToConfirm"
            ],
            "type": "object",
            "x-flow-exception": "Requires Confirmation"
          },
          "disambiguation": {
            "properties": {
              "mediaItemsToDisambiguate": {
                "items": {
                  "$ref": "#/components/schemas/MediaItem"
                },
                "minItems": 2,
                "type": "array"
              }
            },
            "required": [
              "mediaItemsToDisambiguate"
            ],
            "type": "object"
          },
          "success": {
            "properties": {
              "resolvedMediaItem": {
                "$ref": "#/components/schemas/MediaItem"
              }
            },
            "required": [
              "resolvedMediaItem"
            ],
            "type": "object"
          },
          "unsupported": {
            "properties": {
              "reason": {
                "$ref": "#/components/schemas/UpdateMediaAffinityMediaItemUnsupportedReason"
              }
            },
            "type": "object",
            "x-flow-exception": "Unsupported"
          }
        },
        "type": "object"
      },
      "UpdateMediaAffinityMediaItemUnsupportedReason": {
        "enum": [
          "loginRequired",
          "subscriptionRequired",
          "unsupportedMediaType",
          "explicitContentSettings"
        ],
        "type": "string"
      },
      "UserActivity": {
        "nullable": true,
        "properties": {
          "activityType": {
            "example": "com.mediastreamingservice.playmedia",
            "maxLength": 250,
            "type": "string"
          },
          "persistentIdentifier": {
            "maxLength": 250,
            "type": "string"
          },
          "title": {
            "maxLength": 250,
            "type": "string"
          },
          "userInfo": {
            "title": "UserActivityUserInfo",
            "type": "object"
          },
          "version": {
            "maxLength": 25,
            "pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
            "type": "string"
          }
        },
        "required": [
          "version",
          "activityType"
        ],
        "type": "object"
      }
    }
  },
  "x-important": "IMPORTANT:  This OpenAPI Specification is only for use in accordance with the terms of the Apple Developer Program License Agreement.  You may not use this OpenAPI Specification unless you have agreed to the Apple Developer Program License Agreement."
}