---
title: "Edit a bookmark"
method: PATCH
path: "/bookmarks/{bookmark_id}"
tags: ["Bookmarks"]
---

# Edit a bookmark

`PATCH /bookmarks/{bookmark_id}`

Edit a placeholder for the current media that you can return to later.

## Path parameters

- `bookmark_id` string, required

## Query parameters

- `position` integer
- `client` string
- `date` integer
- `include` 0 | 1

## Request body

- BookmarkEditRequest
  - `position` integer, required
  - `client` string — Client/agent name recorded with the request.
  - `date` integer
  - `include` 0 | 1

## Response `200`

Bookmark array

- BookmarkObject
  - `id` string, required
  - `owner` string, required
  - `object_type` string, nullable, required — The kind of object referenced, as a bare string. The set is intentionally open so a new media type is not a breaking change; values seen today include `song`, `album`, `artist`, `playlist`, `podcast`, `podcast_episode` and `video`.
  - `object_id` string, required
  - `position` integer, required
  - `client` string, nullable, required
  - `creation_date` integer, required
  - `update_date` integer, required
  - `song` SongObject[]
    - `id` string, required
    - `title` string, nullable, required
    - `name` string, nullable, required
    - `artist` NamedReference, required
      - `id` string, required
      - `name` string, nullable, required
      - `prefix` string, nullable, required
      - `basename` string, nullable, required
    - `artists` NamedReference[], required
      - `id` string, required
      - `name` string, nullable, required
      - `prefix` string, nullable, required
      - `basename` string, nullable, required
    - `album` NamedReference, required
      - `id` string, required
      - `name` string, nullable, required
      - `prefix` string, nullable, required
      - `basename` string, nullable, required
    - `albumartist` NamedReference
      - `id` string, required
      - `name` string, nullable, required
      - `prefix` string, nullable, required
      - `basename` string, nullable, required
    - `disk` integer, required
    - `disksubtitle` string, nullable, required
    - `bpm` number, nullable, required
    - `track` integer, required
    - `filename` string, nullable, required
    - `genre` GenreReference[], required
      - `id` string, required
      - `name` string, required
    - `mood` object[], required
      - `id` string, required
      - `name` string, required
    - `playlisttrack` integer, required
    - `time` integer, required
    - `year` integer, required
    - `format` string, nullable, required
    - `stream_format` string, nullable, required
    - `bitrate` integer, nullable, required
    - `stream_bitrate` integer, nullable, required
    - `rate` integer, required
    - `mode` string, nullable, required
    - `mime` string, nullable, required
    - `stream_mime` string, nullable, required
    - `url` string, required
    - `size` integer, required
    - `mbid` string, nullable, required
    - `art` string, nullable, required
    - `has_art` boolean, required
    - `flag` boolean, required
    - `rating` integer, nullable, required
    - `averagerating` number, nullable, required
    - `playcount` integer, required
    - `last_played` string, nullable, required
    - `catalog` string, required
    - `composer` string, nullable, required
    - `channels` integer, nullable, required
    - `comment` string, nullable, required
    - `license` string, nullable, required
    - `publisher` string, nullable, required
    - `language` string, nullable, required
    - `lyrics` string, nullable, required
    - `replaygain_album_gain` number, nullable, required
    - `replaygain_album_peak` number, nullable, required
    - `replaygain_track_gain` number, nullable, required
    - `replaygain_track_peak` number, nullable, required
    - `r128_album_gain` number, nullable, required
    - `r128_track_gain` number, nullable, required
    - `metadata` object
  - `podcast_episode` PodcastEpisodeObject[]
    - `id` string, required
    - `title` string, nullable, required
    - `name` string, nullable, required
    - `podcast` object, required
      - `id` string, required
      - `name` string, required
    - `description` string, required
    - `category` string, nullable, required
    - `author` string, nullable, required
    - `author_full` string, nullable, required
    - `website` string, required
    - `pubdate` string, nullable, required
    - `state` string, required
    - `filelength` string, required
    - `filesize` string, required
    - `filename` string, required
    - `mime` string, nullable, required
    - `time` integer, required
    - `size` integer, required
    - `bitrate` integer, required
    - `stream_bitrate` integer, required
    - `rate` integer, required
    - `mode` string, nullable, required
    - `channels` integer, nullable, required
    - `public_url` string, required
    - `url` string, required
    - `catalog` string, required
    - `art` string, nullable, required
    - `has_art` boolean, required
    - `flag` boolean, required
    - `rating` integer, nullable, required
    - `averagerating` number, nullable, required
    - `playcount` integer, required
    - `last_played` string, nullable, required
    - `played` string, required
  - `video` VideoObject[]
    - `id` string, required
    - `title` string, nullable, required
    - `mime` string, nullable, required
    - `resolution` string, nullable, required
    - `size` integer, required
    - `genre` GenreReference[], required
      - `id` string, required
      - `name` string, required
    - `time` integer, required
    - `url` string, required
    - `art` string, nullable, required
    - `has_art` boolean, required
    - `flag` boolean, required
    - `rating` integer, nullable, required
    - `averagerating` number, nullable, required
    - `playcount` integer, required
    - `last_played` string, nullable, required
    - `catalog` string, required

## 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).

---

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