---
title: "🛡️ Update a photo album."
method: PATCH
path: "/api/v1/photo-album/{id}"
tags: ["Photo Albums"]
---

# 🛡️ Update a photo album.

`PATCH /api/v1/photo-album/{id}`

<h3>🛡️ Requires Capabilities: <code>PhotoAlbums.Update</code></h3>

## Path parameters

- `id` number, required

## Request body

- UpdatePhotoAlbumBodyDto
  - `name` string, required

## Response `200`

- PhotoAlbum
  - `user` User
    - `userId` string, required
    - `cardinalId` string
    - `cachedCloudUser` object, required
      - `subscription` 'free' | 'early_adopter' | 'starter' | 'pro' | 'ultimate'
    - `cachedCloudUserAt` string, date-time
    - `enabled` boolean
    - `role` string, required
    - `designation` string
    - `activityStatus` string
    - `activityStatusUpdatedAt` string, date-time
    - `roles` RoleAssignment[], required
      - `id` number, required
      - `user` User, required — recursive
      - `role` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `deletedAt` string, date-time, required
    - `username` string
    - `password` string
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `photoAlbumId` string, required
  - `name` string, required
  - `entries` PhotoAlbumEntry[], required
    - `photoAlbumEntryId` string, required
    - `photo` Photo, required
      - `photoId` string, required
      - `file` File, required
        - `user` User, required
          - `userId` string, required
          - `cardinalId` string
          - `cachedCloudUser` object, required
            - `subscription` 'free' | 'early_adopter' | 'starter' | 'pro' | 'ultimate'
          - `cachedCloudUserAt` string, date-time
          - `enabled` boolean
          - `role` string, required
          - `designation` string
          - `activityStatus` string
          - `activityStatusUpdatedAt` string, date-time
          - `roles` RoleAssignment[], required
            - `id` number, required
            - `user` User, required — recursive
            - `role` string, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `username` string
          - `password` string
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `run` Run, required
          - `runId` string, required
          - `file` File[]
          - `status` string, required
          - `completedAt` string, date-time, required
          - `type` string, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `musicTrack` MusicTrack[]
          - `file` File, required — recursive
          - `artists` MusicArtist[], required
            - `tracks` MusicTrack[]
            - `releases` MusicRelease[]
              - …
            - `musicArtistId` string, required
            - `name` string
            - `sortName` string
            - `metadata` MusicArtistMetadata[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `release` MusicRelease, required
            - `tracks` MusicTrack[]
            - `artist` MusicArtist
              - …
            - `artists` MusicArtist[]
              - …
            - `genres` MusicGenre[]
              - …
            - `musicReleaseId` string, required
            - `title` string
            - `sortTitle` string
            - `releaseType` 'album' | 'ep' | 'single' | 'compilation' | 'soundtrack' | 'live' | 'remix' | 'dj-mix' | 'broadcast' | 'demo'
            - `metadata` MusicReleaseMetadata[]
              - …
            - `thumbnails` MusicReleaseThumbnail[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `musicTrackId` string, required
          - `title` string
          - `sortTitle` string
          - `trackNumber` number
          - `discNumber` number
          - `duration` number
          - `bitrate` number
          - `metadata` MusicTrackMetadata[]
            - `track` MusicTrack, required — recursive
            - `metadataType` object
            - `metadataFormat` object
            - `metaKey` string, required
            - `metaValue` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `history` MusicHistory[]
            - `playbackEntryId` string, required
            - `progress` number, required
            - `track` MusicTrack, required — recursive
            - `queueItem` PlaybackQueueItem
              - …
            - `user` User, required
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `waveform` MusicTrackWaveform
            - `track` MusicTrack, required — recursive
            - `version` number, required
            - `binCount` number, required
            - `data` object, required
            - `integratedLufs` number
            - `truePeakDb` number
            - `silenceLeadIn` number
            - `silenceLeadOut` number
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `photo` Photo — recursive
        - `fileId` string, required
        - `jobTasks` JobTask[], required
          - `jobTaskId` string, required
          - `job` Job
            - `jobId` string, required
            - `user` User
              - …
            - `run` Run, required
              - …
            - `type` 'album_art_thumbnails' | 'photo_variations' | 'photo_thumbnails' | 'generate_waveforms', required
            - `status` 'draft' | 'preparing' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored', required
            - `parameters` object
            - `tasks` JobTask[]
            - `completedTasks` number, required
            - `remainingTasks` number, required
            - `totalTasks` number, required
            - `completedAt` string, date-time, required
            - `errorMessage` string, required
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `file` File — recursive
          - `type` 'create_album_artwork_thumbnail' | 'create_photo_thumbnail' | 'heic_to_jpeg' | 'generate_track_waveform', required
          - `target` string, required
          - `status` 'draft' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored', required
          - `completedAt` string, date-time, required
          - `errorMessage` string, required
          - `results` object
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `absolutePath` string, required
        - `relativePath` string, required
        - `mimeType` string
        - `extension` string, required
        - `app` string, required
        - `mediaType` string, required
        - `size` number, required
        - `mtime` string, date-time
        - `lastSeen` string, date-time, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `metadata` PhotoMetadata[], required
        - `photo` Photo, required — recursive
        - `metadataType` string
        - `metadataFormat` string
        - `metaKey` string, required
        - `metaValue` string
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `thumbnail` PhotoThumbnail[], required
        - `thumbnailId` string, required
        - `absolutePath` string, nullable, required
        - `relativeSrc` string, nullable, required
        - `size` string, required
        - `format` string, required
        - `width` number, required
        - `height` number, required
        - `bytes` number, required
        - `photo` Photo, required — recursive
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `variations` PhotoVariation[], required
        - `variationId` string, required
        - `absolutePath` string, nullable, required
        - `relativeSrc` string, nullable, required
        - `format` string, required
        - `bytes` number, required
        - `photo` Photo, required — recursive
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `photoAlbumEntries` PhotoAlbumEntry[], required
      - `timestamp` number, required
      - `takenAt` string, date-time, required
      - `takenOnDay` string, required
      - `modifiedAt` string, date-time, required
      - `width` number, required
      - `height` number, required
      - `orientation` string, required
      - `deviceMake` string, required
      - `deviceModel` string, required
      - `gpsLat` number, required
      - `gpsLng` number, required
      - `gpsLatRef` string, required
      - `gpsLngRef` string, required
      - `gpsAltitude` string, required
      - `gpsTime` string, required
      - `gpsDate` string, required
      - `id` number, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `deletedAt` string, date-time, required
    - `photoAlbum` PhotoAlbum, required — recursive
    - `featured` boolean, required
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `metadata` PhotoAlbumMetadata[], required
    - `photoAlbum` PhotoAlbum, required — recursive
    - `metaKey` string, required
    - `metaValue` string
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `id` number, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `deletedAt` string, date-time, required

## Other responses

- `401` — Possible reasons: The authorization token is invalid.
- `403` — Possible reasons: The user does not have sufficent capabilities.

---

[API](https://skmtc.net/cardinalapps/apis/cardinal-media-server-api.md) · [All operations](https://skmtc.net/cardinalapps/apis/cardinal-media-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cardinalapps/cardinal-media-server-api/revisions/0c30e5146acd/schema)
