---
title: "Edit playlist metadata and items"
method: PATCH
path: "/playlists/{playlist_id}"
tags: ["Playlists"]
---

# Edit playlist metadata and items

`PATCH /playlists/{playlist_id}`

This modifies name and type of a playlist Previously name and type were mandatory while filter wasn't. this has been reversed.

## Path parameters

- `playlist_id` string, required

## Query parameters

- `name` string
- `type` 'public' | 'private'
- `owner` string
- `items` string
- `tracks` string

## Request body

- PlaylistEditRequest
  - `name` string
  - `type` 'public' | 'private'
  - `owner` string — User id (-1 = System playlist)
  - `items` string — Comma-separated song_id list
  - `tracks` string — Comma-separated playlist track numbers matched to items

## Response `200`

Success

- SuccessResponse
  - `success` string

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404` — HTTP 404 Not Found (error 4704).
- `500` — HTTP 500 Internal Server Error (error 4702).

## Changes

> 46 revisions in range; 5 could not be searched.

- **2026-07-22** `e8e6b266ea29` — 6 info
  - api operation id `playlistEdit` was added
  - added optional request body
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - …2 more
- **2026-06-25** `7ed7a764efd9` — 1 info
  - added the non-success response with the status `400`
- **2026-02-24** `3c57979a295f` — 1 info
  - endpoint added
- **2026-02-19** `07f53972fdd7` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/ampache/apis/ampache-rest-api/changes/playlists/:playlist_id/patch.md)

---

[API](https://skmtc.dev/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.dev/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/42d304fb6867/schema)
