action listennotes_get_playlist_by_id { label: "Fetch a playlist's info and items (i.e., episodes or podcasts)." description: "A playlist can be an episode list (i.e., all items are episodes) or a podcast list (i.e., all items are podcasts),\nwhich is essentially the same as those created via listennotes.com/listen/.\nThis endpoint fetches a list of items (i.e., episodes or podcasts) in the playlist.\nYou can use the **last_pub_date_ms** parameter to do pagination and fetch more items.\nA playlist can be **public** (discoverable on ListenNotes.com),\n**unlisted** (accessible to anyone who knows the playlist id),\nor **private** (accessible to its owner).\nYou can fetch all playlists created by you, and **public** / **unlisted** playlists created by others.\n" provider: listennotes method: GET path: "/playlists/{id}" encoding: json input: { type: "object" properties: { id: { type: "string" } last_timestamp_ms: { type: "integer" } sort: { type: "string" enum: ["recent_added_first", "oldest_added_first", "recent_published_first", "oldest_published_first"] } type: { type: "string" enum: ["episode_list", "podcast_list"] } } required: ["id"] additionalProperties: false } output: { type: "object" properties: { description: { type: "string" description: "Playlist description." } id: { type: "string" description: "A 11-character playlist id, which can be used to further fetch detailed playlist metadata via `GET /playlists/{id}`." } image: { type: "string" description: "High resolution image url of the playlist." } items: { type: "array" description: "A list of playlist items." items: { type: "object" description: "An item in a playlist" properties: { added_at_ms: { type: "integer" description: "Timestamp (in milliseconds) when this item is added." } data: { type: "object" } id: { type: "integer" description: "Playlist item id." } notes: { type: "string" description: "Notes for this item." } type: { type: "string" description: "The type of this playlist item.\nIf a playlist is **episode_list**, then an item could be either **episode** or **custom_audio**.\nIf it's **podcast_list**, then an item can only be **podcast**.\n" enum: ["episode", "custom_audio", "podcast"] } } } } last_timestamp_ms: { type: "integer" description: "Passed to the **last_timestamp_ms** parameter of `GET /playlists/{id}` to paginate through items of that playlist.\n" } listennotes_url: { type: "string" description: "The url of this playlist on ListenNotes.com." } name: { type: "string" description: "Playlist name." } thumbnail: { type: "string" description: "Low resolution image url of the playlist." } total: { type: "integer" description: "Total number of items in this playlist." } total_audio_length_sec: { type: "integer" description: "Total audio length of all episodes in this playlist, in seconds. It will have a valid value only when type is **episode_list**. In other words, it will be 0 if type is **podcast_list**." } type: { type: "string" description: "The type of this playlist, which should be either **episode_list** or **podcast_list**.\n" enum: ["episode_list", "podcast_list"] } visibility: { type: "string" description: "Visibility of this playlist." enum: ["public", "unlisted", "private"] } } } }