---
title: "Update playlist"
method: PATCH
path: "/api/profiles/{profile_id}/youtube/update_playlist"
tags: ["YouTube"]
---

# Update playlist

`PATCH /api/profiles/{profile_id}/youtube/update_playlist`

## Request

- Base URL: `https://api.postproxy.dev`
- URL: `https://api.postproxy.dev/api/profiles/{profile_id}/youtube/update_playlist`
- Auth: HTTP bearer

Updates a playlist's title, description or privacy. Fields left out keep their current value. Costs 50 units of the channel's YouTube Data API quota.

## Path parameters

- `profile_id` string, required

## Query parameters

- `profile_group_id` string

## Request body

- object
  - `playlist_id` string, required: Playlist ID from List playlists
  - `title` string: New title
  - `description` string: New description. Pass "" to clear it
  - `privacy_status` 'public' | 'unlisted' | 'private'

## Response `200`

The updated playlist

- YouTubePlaylist
  - `id` string: YouTube playlist ID
  - `title` string
  - `description` string
  - `privacy_status` 'public' | 'unlisted' | 'private'
  - `item_count` integer: Number of videos in the playlist
  - `thumbnail_url` string, nullable
  - `published_at` string, date-time

## Other responses

- `400`: Missing required parameters.
- `401`: Invalid, missing, or insufficient API key permissions.
- `403`: The connection lacks permission to manage playlists; reconnect the profile
- `404`: Resource does not exist or is not accessible.
- `422`: Validation failed.
- `429`: Posting rate limit reached.
- `502`: YouTube could not be reached

---

[API](https://skmtc.dev/postproxy/apis/postproxy-social-media-api.md) - [All operations](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/llms.txt) - [OpenAPI document](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/revisions/d54482ac4ce7?raw)
