https://playlistai-plugin.vercel.app/.well-known/ai-plugin.json
{
"schema_version": "v1",
"name_for_model": "PlaylistAI_for_Spotify",
"name_for_human": "PlaylistAI: Spotify",
"description_for_human": "PlaylistAI is an app for generating Spotify music playlists. Not affiliated with Spotify.",
"description_for_model": "Use the PlaylistAI plugin to automatically create Spotify music playlists for a list of song names when the song names are generated by the ChatGPT assistant. In a successful scenario the plugin will return a url to the spotify music playlist. If the plugin returns a 429 status code, then the user needs to pay to continue using the plugin. In that case, read them the provided message, payment url, and support email.",
"api": {
"type": "openapi",
"url": "https://playlistai-plugin.vercel.app/openapi.json",
"has_user_authentication": false
},
"auth": {
"type": "oauth",
"client_url": "https://playlistai-plugin.vercel.app/authorize",
"scope": "playlist-modify-public user-read-email",
"authorization_url": "https://playlistai-plugin.vercel.app/token",
"authorization_content_type": "application/x-www-form-urlencoded",
"verification_tokens": {
"openai": "2f4cef8bdbdb46db892a968e01797882"
}
},
"logo_url": "https://playlistai-plugin.vercel.app/icon.png",
"contact_email": "brett@playlistai.app",
"legal_info_url": "https://playlistai-plugin.vercel.app/legal"
}
https://playlistai-plugin.vercel.app/openapi.json
{
"openapi": "3.0.0",
"info": {
"title": "PlaylistAI for Spotify",
"version": "1.0.0"
},
"paths": {
"/api/playlist": {
"post": {
"summary": "Create a Spotify playlist",
"operationId": "createPost",
"description": "Endpoint to create a playlist based on provided song names and title.",
"requestBody": {
"description": "Song names and title to create a playlist",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"songNames": {
"type": "string",
"description": "Comma separated list of song and artist names in this format: <song name> - <artist name>"
},
"title": {
"type": "string",
"description": "A suggested title for the playlist"
},
"playlistPrompt": {
"type": "string",
"description": "A copy of the prompt the user entered to create the playlist"
}
},
"required": [
"songNames",
"title",
"playlistPrompt"
]
}
}
}
},
"responses": {
"200": {
"description": "The new playlist url",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"playlistUrl": {
"type": "string",
"description": "The url of the playlist"
}
}
}
}
}
},
"429": {
"description": "The user exceeded the number of playlists that they can create for free. Read them the paymentUrl",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"paymentUrl": {
"type": "string",
"description": "The url to go to to purchase unlimited playlists"
},
"supportEmail": {
"type": "string",
"description": "The support email that the user can contact for help or questions"
},
"message": {
"type": "string",
"description": "A message that should be read to the user"
}
}
}
}
}
}
}
}
},
"/api/playlist/songs": {
"get": {
"summary": "Get songs from a Spotify playlist",
"operationId": "getSongs",
"description": "Retrieve songs from a given Spotify playlist URL.",
"parameters": [
{
"name": "url",
"in": "query",
"description": "URL to a playlist on the Spotify platform.",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"songs": {
"type": "array",
"items": {
"type": "string",
"description": "Song in the format of <song name> - <artist name>"
}
}
}
}
}
}
},
"404": {
"description": "Playlist not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message indicating the playlist was not found."
}
}
}
}
}
}
}
}
},
"/api/user/playlists": {
"get": {
"summary": "Fetches the playlists for the current user on Spotify and returns the playlist name and link for each playlist.",
"description": "Fetches the playlists for the current user on Spotify and returns the playlist name and link for each playlist.",
"operationId": "getUsersPlaylists",
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the playlist"
},
"link": {
"type": "string",
"description": "Link to the playlist on Spotify"
}
}
}
}
}
}
},
"500": {
"description": "Internal server error"
}
}
}
},
"/api/user/subscription": {
"get": {
"summary": "Fetches a URL to manage or cancel the user's subscription to PlaylistAI",
"operationId": "manageSubscription",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "A message about managing the subscription"
},
"billingPortalURL": {
"type": "string",
"format": "uri",
"description": "A URL that the user can go to to manage their subscription"
},
"customerSupportEmail": {
"type": "string",
"format": "email",
"description": "An email address to contact if you need further help"
}
},
"required": [
"message",
"billingPortalURL",
"customerSupportEmail"
]
}
}
}
}
}
}
},
"/api/playlist/add": {
"post": {
"summary": "Add songs to a Spotify playlist",
"description": "Adds specified songs to a Spotify playlist based on the provided playlist URL and song names.",
"operationId": "playlistAdd",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"playlistUrl": {
"type": "string",
"description": "A URL to the playlist to update"
},
"songNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of the songs to add in this format \"<song name> - <artist name>\""
}
},
"required": [
"playlistUrl",
"songNames"
]
}
}
}
},
"responses": {
"200": {
"description": "Songs added successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"playlistUrl": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/api/playlist/remove": {
"post": {
"summary": "Removes songs from a Spotify playlist",
"operationId": "playlistRemove",
"description": "Removes specified songs from a Spotify playlist based on the provided playlist URL and song names.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"playlistUrl": {
"type": "string",
"description": "A URL to the playlist to update"
},
"songNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of the songs to remove in this format \"<song name> - <artist name>\""
}
},
"required": [
"playlistUrl",
"songNames"
]
}
}
}
},
"responses": {
"200": {
"description": "Songs removed successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"playlistUrl": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
Discover other plugins from the music category

MixerBox OnePlayer
Unlimited music, podcasts, and videos across various genres. Enjoy endless listening with our rich playlists
0 Comments

AudD Song ID
Identify music in audio and video using AudD API
0 Comments

Guitar Chords by Uberchord
Find guitar chord diagrams by specifying the chord name.
0 Comments

ABC Music Notation
Converts ABC music notation to WAV, MIDI, and PostScript files.
0 Comments

Playlist Follow
Create and find the best music playlists, all in one place.
0 Comments

WhizList
Your go-to for creating amazing Spotify playlists.
0 Comments

Trending Music
Service for finding the trending music, by genre, countries, and top songs globally.
0 Comments

MixerBox OnePlayer
Unlimited music, podcasts, and videos across various genres. Enjoy endless listening with our rich playlists!
0 Comments

Music
Generate music, compose music, create music and listen to music. Save music and refer it in the future.
0 Comments