{
  "service": "spotify",
  "displayName": "Spotify",
  "categories": [
    "Design",
    "Social"
  ],
  "authTypes": [
    "oauth2"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://accounts.spotify.com/authorize",
      "tokenUrl": "https://accounts.spotify.com/api/token",
      "scopes": [
        "user-read-private",
        "user-read-email",
        "user-top-read",
        "playlist-read-private",
        "playlist-read-collaborative",
        "playlist-modify-public",
        "playlist-modify-private",
        "user-library-read",
        "user-library-modify",
        "user-follow-read",
        "user-follow-modify",
        "user-read-playback-state",
        "user-read-currently-playing",
        "user-read-recently-played",
        "user-modify-playback-state"
      ],
      "tokenEndpointAuthMethod": "client_secret_basic"
    }
  ],
  "homepageUrl": "https://spotify.com",
  "actions": [
    {
      "id": "spotify.add_item_to_playback_queue",
      "service": "spotify",
      "name": "add_item_to_playback_queue",
      "description": "Add Item To Playback Queue using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "uri": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify URI."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "uri"
        ],
        "description": "Input for Spotify action add_item_to_playback_queue."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.add_items_to_playlist",
      "service": "spotify",
      "name": "add_items_to_playlist",
      "description": "Add Items To Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId",
          "uris"
        ],
        "description": "Input for Spotify action add_items_to_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot identifier returned by Spotify."
          }
        },
        "additionalProperties": false,
        "required": [
          "snapshotId"
        ],
        "description": "Spotify playlist mutation result."
      }
    },
    {
      "id": "spotify.change_playlist_details",
      "service": "spotify",
      "name": "change_playlist_details",
      "description": "Change Playlist Details using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action change_playlist_details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.check_saved_albums",
      "service": "spotify",
      "name": "check_saved_albums",
      "description": "Check Saved Albums using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify album IDs.",
            "minItems": 1,
            "maxItems": 20
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumIds"
        ],
        "description": "Input for Spotify action check_saved_albums."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_saved_audiobooks",
      "service": "spotify",
      "name": "check_saved_audiobooks",
      "description": "Check Saved Audiobooks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify audiobook IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookIds"
        ],
        "description": "Input for Spotify action check_saved_audiobooks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_saved_episodes",
      "service": "spotify",
      "name": "check_saved_episodes",
      "description": "Check Saved Episodes using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "episodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify episode IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "episodeIds"
        ],
        "description": "Input for Spotify action check_saved_episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_saved_shows",
      "service": "spotify",
      "name": "check_saved_shows",
      "description": "Check Saved Shows using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify show IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showIds"
        ],
        "description": "Input for Spotify action check_saved_shows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_saved_tracks",
      "service": "spotify",
      "name": "check_saved_tracks",
      "description": "Check Saved Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify track IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackIds"
        ],
        "description": "Input for Spotify action check_saved_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_user_follows_artists_or_users",
      "service": "spotify",
      "name": "check_user_follows_artists_or_users",
      "description": "Check User Follows Artists Or Users using the Spotify Web API.",
      "requiredScopes": [
        "user-follow-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify artist or user IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "type": {
            "type": "string",
            "enum": [
              "artist",
              "user"
            ],
            "description": "Whether the follow target is an artist or user."
          }
        },
        "additionalProperties": true,
        "required": [
          "type",
          "ids"
        ],
        "description": "Input for Spotify action check_user_follows_artists_or_users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.check_users_follow_playlist",
      "service": "spotify",
      "name": "check_users_follow_playlist",
      "description": "Check Users Follow Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify user IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId",
          "userIds"
        ],
        "description": "Input for Spotify action check_users_follow_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "boolean",
              "description": "One boolean result."
            },
            "description": "Boolean results returned by Spotify in the original order."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Spotify boolean result list."
      }
    },
    {
      "id": "spotify.create_playlist",
      "service": "spotify",
      "name": "create_playlist",
      "description": "Create Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify user ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Playlist name."
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "userId",
          "name"
        ],
        "description": "Input for Spotify action create_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.follow_artists_or_users",
      "service": "spotify",
      "name": "follow_artists_or_users",
      "description": "Follow Artists Or Users using the Spotify Web API.",
      "requiredScopes": [
        "user-follow-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify artist or user IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "type": {
            "type": "string",
            "enum": [
              "artist",
              "user"
            ],
            "description": "Whether the follow target is an artist or user."
          }
        },
        "additionalProperties": true,
        "required": [
          "type",
          "ids"
        ],
        "description": "Input for Spotify action follow_artists_or_users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.follow_playlist",
      "service": "spotify",
      "name": "follow_playlist",
      "description": "Follow Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action follow_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.get_album",
      "service": "spotify",
      "name": "get_album",
      "description": "Get Album using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify album ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumId"
        ],
        "description": "Input for Spotify action get_album."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_album_tracks",
      "service": "spotify",
      "name": "get_album_tracks",
      "description": "Get Album Tracks using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify album ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumId"
        ],
        "description": "Input for Spotify action get_album_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_artist",
      "service": "spotify",
      "name": "get_artist",
      "description": "Get Artist using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify artist ID."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "required": [
          "artistId"
        ],
        "description": "Input for Spotify action get_artist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_artist_albums",
      "service": "spotify",
      "name": "get_artist_albums",
      "description": "Get Artist Albums using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify artist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "artistId"
        ],
        "description": "Input for Spotify action get_artist_albums."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_artist_related_artists",
      "service": "spotify",
      "name": "get_artist_related_artists",
      "description": "Get Artist Related Artists using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify artist ID."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "required": [
          "artistId"
        ],
        "description": "Input for Spotify action get_artist_related_artists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_artist_top_tracks",
      "service": "spotify",
      "name": "get_artist_top_tracks",
      "description": "Get Artist Top Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-top-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify artist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "artistId",
          "market"
        ],
        "description": "Input for Spotify action get_artist_top_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_audiobook",
      "service": "spotify",
      "name": "get_audiobook",
      "description": "Get Audiobook using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify audiobook ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookId"
        ],
        "description": "Input for Spotify action get_audiobook."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_audiobook_chapters",
      "service": "spotify",
      "name": "get_audiobook_chapters",
      "description": "Get Audiobook Chapters using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify audiobook ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookId"
        ],
        "description": "Input for Spotify action get_audiobook_chapters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_available_devices",
      "service": "spotify",
      "name": "get_available_devices",
      "description": "Get Available Devices using the Spotify Web API.",
      "requiredScopes": [
        "user-read-playback-state",
        "user-read-currently-playing"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_available_devices."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_available_genre_seeds",
      "service": "spotify",
      "name": "get_available_genre_seeds",
      "description": "Get Available Genre Seeds using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_available_genre_seeds."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_available_markets",
      "service": "spotify",
      "name": "get_available_markets",
      "description": "Get Available Markets using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_available_markets."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_browse_categories",
      "service": "spotify",
      "name": "get_browse_categories",
      "description": "Get Browse Categories using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_browse_categories."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_browse_category",
      "service": "spotify",
      "name": "get_browse_category",
      "description": "Get Browse Category using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify browse category ID."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          }
        },
        "additionalProperties": true,
        "required": [
          "categoryId"
        ],
        "description": "Input for Spotify action get_browse_category."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_category_playlists",
      "service": "spotify",
      "name": "get_category_playlists",
      "description": "Get Category Playlists using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify browse category ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "categoryId"
        ],
        "description": "Input for Spotify action get_category_playlists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_chapter",
      "service": "spotify",
      "name": "get_chapter",
      "description": "Get Chapter using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chapterId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify chapter ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "chapterId"
        ],
        "description": "Input for Spotify action get_chapter."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_current_user_playlists",
      "service": "spotify",
      "name": "get_current_user_playlists",
      "description": "Get Current User Playlists using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_current_user_playlists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_current_user_profile",
      "service": "spotify",
      "name": "get_current_user_profile",
      "description": "Get Current User Profile using the Spotify Web API.",
      "requiredScopes": [
        "user-read-private",
        "user-read-email"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_current_user_profile."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_currently_playing_track",
      "service": "spotify",
      "name": "get_currently_playing_track",
      "description": "Get Currently Playing Track using the Spotify Web API.",
      "requiredScopes": [
        "user-read-playback-state",
        "user-read-currently-playing"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_currently_playing_track."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_episode",
      "service": "spotify",
      "name": "get_episode",
      "description": "Get Episode using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "episodeId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify episode ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "episodeId"
        ],
        "description": "Input for Spotify action get_episode."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_featured_playlists",
      "service": "spotify",
      "name": "get_featured_playlists",
      "description": "Get Featured Playlists using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_featured_playlists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_followed_artists",
      "service": "spotify",
      "name": "get_followed_artists",
      "description": "Get Followed Artists using the Spotify Web API.",
      "requiredScopes": [
        "user-follow-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_followed_artists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_new_releases",
      "service": "spotify",
      "name": "get_new_releases",
      "description": "Get New Releases using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_new_releases."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_playback_state",
      "service": "spotify",
      "name": "get_playback_state",
      "description": "Get Playback State using the Spotify Web API.",
      "requiredScopes": [
        "user-read-playback-state",
        "user-read-currently-playing"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_playback_state."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_playlist",
      "service": "spotify",
      "name": "get_playlist",
      "description": "Get Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action get_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_playlist_cover_image",
      "service": "spotify",
      "name": "get_playlist_cover_image",
      "description": "Get Playlist Cover Image using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action get_playlist_cover_image."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_playlist_items",
      "service": "spotify",
      "name": "get_playlist_items",
      "description": "Get Playlist Items using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action get_playlist_items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_recently_played_tracks",
      "service": "spotify",
      "name": "get_recently_played_tracks",
      "description": "Get Recently Played Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-read-recently-played"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_recently_played_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_recommendations",
      "service": "spotify",
      "name": "get_recommendations",
      "description": "Get Recommendations using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_recommendations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_albums",
      "service": "spotify",
      "name": "get_several_albums",
      "description": "Get Several Albums using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify album IDs.",
            "minItems": 1,
            "maxItems": 20
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumIds"
        ],
        "description": "Input for Spotify action get_several_albums."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_artists",
      "service": "spotify",
      "name": "get_several_artists",
      "description": "Get Several Artists using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artistIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify artist IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "required": [
          "artistIds"
        ],
        "description": "Input for Spotify action get_several_artists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_audiobooks",
      "service": "spotify",
      "name": "get_several_audiobooks",
      "description": "Get Several Audiobooks using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify audiobook IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookIds"
        ],
        "description": "Input for Spotify action get_several_audiobooks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_chapters",
      "service": "spotify",
      "name": "get_several_chapters",
      "description": "Get Several Chapters using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chapterIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify chapter IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "chapterIds"
        ],
        "description": "Input for Spotify action get_several_chapters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_episodes",
      "service": "spotify",
      "name": "get_several_episodes",
      "description": "Get Several Episodes using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "episodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify episode IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "episodeIds"
        ],
        "description": "Input for Spotify action get_several_episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_shows",
      "service": "spotify",
      "name": "get_several_shows",
      "description": "Get Several Shows using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify show IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showIds"
        ],
        "description": "Input for Spotify action get_several_shows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_track_audio_features",
      "service": "spotify",
      "name": "get_several_track_audio_features",
      "description": "Get Several Track Audio Features using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify track IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackIds"
        ],
        "description": "Input for Spotify action get_several_track_audio_features."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_several_tracks",
      "service": "spotify",
      "name": "get_several_tracks",
      "description": "Get Several Tracks using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify track IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackIds"
        ],
        "description": "Input for Spotify action get_several_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_show",
      "service": "spotify",
      "name": "get_show",
      "description": "Get Show using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify show ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showId"
        ],
        "description": "Input for Spotify action get_show."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_show_episodes",
      "service": "spotify",
      "name": "get_show_episodes",
      "description": "Get Show Episodes using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify show ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showId"
        ],
        "description": "Input for Spotify action get_show_episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_track",
      "service": "spotify",
      "name": "get_track",
      "description": "Get Track using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify track ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackId"
        ],
        "description": "Input for Spotify action get_track."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_track_audio_analysis",
      "service": "spotify",
      "name": "get_track_audio_analysis",
      "description": "Get Track Audio Analysis using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify track ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackId"
        ],
        "description": "Input for Spotify action get_track_audio_analysis."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_track_audio_features",
      "service": "spotify",
      "name": "get_track_audio_features",
      "description": "Get Track Audio Features using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify track ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackId"
        ],
        "description": "Input for Spotify action get_track_audio_features."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_playlists",
      "service": "spotify",
      "name": "get_user_playlists",
      "description": "Get User Playlists using the Spotify Web API.",
      "requiredScopes": [
        "playlist-read-private",
        "playlist-read-collaborative"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify user ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "userId"
        ],
        "description": "Input for Spotify action get_user_playlists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_profile",
      "service": "spotify",
      "name": "get_user_profile",
      "description": "Get User Profile using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify user ID."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "required": [
          "userId"
        ],
        "description": "Input for Spotify action get_user_profile."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_queue",
      "service": "spotify",
      "name": "get_user_queue",
      "description": "Get User Queue using the Spotify Web API.",
      "requiredScopes": [
        "user-read-playback-state",
        "user-read-currently-playing"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_queue."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_saved_albums",
      "service": "spotify",
      "name": "get_user_saved_albums",
      "description": "Get User Saved Albums using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_saved_albums."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_saved_audiobooks",
      "service": "spotify",
      "name": "get_user_saved_audiobooks",
      "description": "Get User Saved Audiobooks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_saved_audiobooks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_saved_episodes",
      "service": "spotify",
      "name": "get_user_saved_episodes",
      "description": "Get User Saved Episodes using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_saved_episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_saved_shows",
      "service": "spotify",
      "name": "get_user_saved_shows",
      "description": "Get User Saved Shows using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_saved_shows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_saved_tracks",
      "service": "spotify",
      "name": "get_user_saved_tracks",
      "description": "Get User Saved Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_saved_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_top_artists",
      "service": "spotify",
      "name": "get_user_top_artists",
      "description": "Get User Top Artists using the Spotify Web API.",
      "requiredScopes": [
        "user-top-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_top_artists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.get_user_top_tracks",
      "service": "spotify",
      "name": "get_user_top_tracks",
      "description": "Get User Top Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-top-read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action get_user_top_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.pause_playback",
      "service": "spotify",
      "name": "pause_playback",
      "description": "Pause Playback using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action pause_playback."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.remove_playlist_items",
      "service": "spotify",
      "name": "remove_playlist_items",
      "description": "Remove Playlist Items using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uri": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify URI of the playlist item to remove."
                }
              },
              "additionalProperties": true,
              "description": "Playlist item removal target."
            },
            "description": "Playlist item removal targets.",
            "minItems": 1
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId",
          "items"
        ],
        "description": "Input for Spotify action remove_playlist_items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot identifier returned by Spotify."
          }
        },
        "additionalProperties": false,
        "required": [
          "snapshotId"
        ],
        "description": "Spotify playlist mutation result."
      }
    },
    {
      "id": "spotify.remove_user_s_saved_audiobooks",
      "service": "spotify",
      "name": "remove_user_s_saved_audiobooks",
      "description": "Remove User S Saved Audiobooks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify audiobook IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookIds"
        ],
        "description": "Input for Spotify action remove_user_s_saved_audiobooks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.remove_user_s_saved_episodes",
      "service": "spotify",
      "name": "remove_user_s_saved_episodes",
      "description": "Remove User S Saved Episodes using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "episodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify episode IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "episodeIds"
        ],
        "description": "Input for Spotify action remove_user_s_saved_episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.remove_user_s_saved_shows",
      "service": "spotify",
      "name": "remove_user_s_saved_shows",
      "description": "Remove User S Saved Shows using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify show IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showIds"
        ],
        "description": "Input for Spotify action remove_user_s_saved_shows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.remove_user_s_saved_tracks",
      "service": "spotify",
      "name": "remove_user_s_saved_tracks",
      "description": "Remove User S Saved Tracks using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify track IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackIds"
        ],
        "description": "Input for Spotify action remove_user_s_saved_tracks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.remove_users_saved_albums",
      "service": "spotify",
      "name": "remove_users_saved_albums",
      "description": "Remove Users Saved Albums using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify album IDs.",
            "minItems": 1,
            "maxItems": 20
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumIds"
        ],
        "description": "Input for Spotify action remove_users_saved_albums."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.save_albums_for_current_user",
      "service": "spotify",
      "name": "save_albums_for_current_user",
      "description": "Save Albums For Current User using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify album IDs.",
            "minItems": 1,
            "maxItems": 20
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "albumIds"
        ],
        "description": "Input for Spotify action save_albums_for_current_user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.save_audiobooks_for_current_user",
      "service": "spotify",
      "name": "save_audiobooks_for_current_user",
      "description": "Save Audiobooks For Current User using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "audiobookIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify audiobook IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "audiobookIds"
        ],
        "description": "Input for Spotify action save_audiobooks_for_current_user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.save_episodes_for_current_user",
      "service": "spotify",
      "name": "save_episodes_for_current_user",
      "description": "Save Episodes For Current User using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "episodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify episode IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "episodeIds"
        ],
        "description": "Input for Spotify action save_episodes_for_current_user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.save_shows_for_current_user",
      "service": "spotify",
      "name": "save_shows_for_current_user",
      "description": "Save Shows For Current User using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify show IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "showIds"
        ],
        "description": "Input for Spotify action save_shows_for_current_user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.save_tracks_for_current_user",
      "service": "spotify",
      "name": "save_tracks_for_current_user",
      "description": "Save Tracks For Current User using the Spotify Web API.",
      "requiredScopes": [
        "user-library-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "trackIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify track IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "trackIds"
        ],
        "description": "Input for Spotify action save_tracks_for_current_user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.search_items",
      "service": "spotify",
      "name": "search_items",
      "description": "Search Items using the Spotify Web API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify search query."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify item types to search.",
            "minItems": 1,
            "maxItems": 7
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "required": [
          "query",
          "types"
        ],
        "description": "Input for Spotify action search_items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Spotify Web API response payload."
      }
    },
    {
      "id": "spotify.seek_to_position",
      "service": "spotify",
      "name": "seek_to_position",
      "description": "Seek To Position using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "positionMs"
        ],
        "description": "Input for Spotify action seek_to_position."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.set_playback_volume",
      "service": "spotify",
      "name": "set_playback_volume",
      "description": "Set Playback Volume using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "volumePercent"
        ],
        "description": "Input for Spotify action set_playback_volume."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.set_repeat_mode",
      "service": "spotify",
      "name": "set_repeat_mode",
      "description": "Set Repeat Mode using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "state"
        ],
        "description": "Input for Spotify action set_repeat_mode."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.skip_to_next",
      "service": "spotify",
      "name": "skip_to_next",
      "description": "Skip To Next using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action skip_to_next."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.skip_to_previous",
      "service": "spotify",
      "name": "skip_to_previous",
      "description": "Skip To Previous using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action skip_to_previous."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.start_resume_playback",
      "service": "spotify",
      "name": "start_resume_playback",
      "description": "Start Resume Playback using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action start_resume_playback."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.toggle_playback_shuffle",
      "service": "spotify",
      "name": "toggle_playback_shuffle",
      "description": "Toggle Playback Shuffle using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "description": "Input for Spotify action toggle_playback_shuffle."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.transfer_playback",
      "service": "spotify",
      "name": "transfer_playback",
      "description": "Transfer Playback using the Spotify Web API.",
      "requiredScopes": [
        "user-modify-playback-state"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify Connect device IDs.",
            "minItems": 1,
            "maxItems": 100
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "deviceIds"
        ],
        "description": "Input for Spotify action transfer_playback."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.unfollow_artists_or_users",
      "service": "spotify",
      "name": "unfollow_artists_or_users",
      "description": "Unfollow Artists Or Users using the Spotify Web API.",
      "requiredScopes": [
        "user-follow-modify"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify artist or user IDs.",
            "minItems": 1,
            "maxItems": 50
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "type": {
            "type": "string",
            "enum": [
              "artist",
              "user"
            ],
            "description": "Whether the follow target is an artist or user."
          }
        },
        "additionalProperties": true,
        "required": [
          "type",
          "ids"
        ],
        "description": "Input for Spotify action unfollow_artists_or_users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.unfollow_playlist",
      "service": "spotify",
      "name": "unfollow_playlist",
      "description": "Unfollow Playlist using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action unfollow_playlist."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Spotify mutation result."
      }
    },
    {
      "id": "spotify.update_playlist_items",
      "service": "spotify",
      "name": "update_playlist_items",
      "description": "Update Playlist Items using the Spotify Web API.",
      "requiredScopes": [
        "playlist-modify-public",
        "playlist-modify-private"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "playlistId": {
            "type": "string",
            "minLength": 1,
            "description": "Spotify playlist ID."
          },
          "uris": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Spotify URIs in the order Spotify should use.",
            "minItems": 1,
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "description": "Playlist description."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the playlist should be public."
          },
          "collaborative": {
            "type": "boolean",
            "description": "Whether the playlist should be collaborative."
          },
          "market": {
            "type": "string",
            "description": "An ISO 3166-1 alpha-2 country code or from_token to apply market filtering."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "An ISO 3166-1 alpha-2 country code."
          },
          "locale": {
            "type": "string",
            "minLength": 2,
            "description": "Locale code such as en_US used by Spotify browse endpoints."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based index of the first item to return."
          },
          "timeRange": {
            "type": "string",
            "enum": [
              "short_term",
              "medium_term",
              "long_term"
            ],
            "description": "Spotify top-items time range."
          },
          "includeGroups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Album groups to include.",
            "minItems": 1
          },
          "seedArtists": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Artist seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedTracks": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Track seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "seedGenres": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Genre seeds used by Spotify recommendations.",
            "minItems": 1,
            "maxItems": 5
          },
          "includeExternalAudio": {
            "type": "boolean",
            "description": "Whether externally hosted audio should be included in search results."
          },
          "position": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based playlist insert position."
          },
          "rangeStart": {
            "type": "integer",
            "minimum": 0,
            "description": "The position of the first item to reorder."
          },
          "insertBefore": {
            "type": "integer",
            "minimum": 0,
            "description": "The position where the reordered items should be inserted."
          },
          "rangeLength": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to reorder."
          },
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot ID."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds or cursor after which to return items."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix timestamp in milliseconds before which to return items."
          },
          "deviceId": {
            "type": "string",
            "description": "Spotify Connect device ID."
          },
          "state": {
            "type": "string",
            "description": "Playback repeat or shuffle state."
          },
          "volumePercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Volume percentage from 0 to 100."
          },
          "positionMs": {
            "type": "integer",
            "minimum": 0,
            "description": "Playback position in milliseconds."
          },
          "play": {
            "type": "boolean",
            "description": "Whether playback should start after transfer."
          },
          "contextUri": {
            "type": "string",
            "description": "Spotify context URI to play."
          },
          "additionalTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Additional item types for playback endpoints.",
            "minItems": 1
          },
          "timestamp": {
            "type": "string",
            "description": "ISO timestamp for featured playlist lookup."
          },
          "timestampedTrackIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trackId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Spotify track ID."
                },
                "addedAt": {
                  "type": "string",
                  "description": "When the track was added.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "Timestamped track item."
            },
            "description": "Timestamped track IDs for saved-track import.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "playlistId"
        ],
        "description": "Input for Spotify action update_playlist_items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "snapshotId": {
            "type": "string",
            "description": "Playlist snapshot identifier returned by Spotify."
          }
        },
        "additionalProperties": false,
        "required": [
          "snapshotId"
        ],
        "description": "Spotify playlist mutation result."
      }
    }
  ]
}
